External LMS Service
Integration Guide
| Version |
Date |
Author |
Description |
| 1.0 |
01-07-2013 |
Contact Online |
Initial draft |
| 1.1 |
20-05-2014 |
Contact Online |
|
| 1.2 |
11-12-2015 |
Kieran Delahunt (Contact Online) |
Added create notification and test ride methods |
| 1.3 |
09-02-2016 |
Kieran Delahunt (Contact Online) |
Expanded on and finalised above methods |
| 1.4 |
27-04-2018 |
Kieran Delahunt (Contact Online) |
GDPR requirements for opt in/out |
| 1.5 |
16-11-2018 |
Kieran Delahunt (Contact Online) |
Added methods to list contact for dealership and get individual |
| 1.6 |
30-11-2018 |
Kieran Delahunt (Contact Online) |
Added methods GetDealer(s) |
| 1.7 |
04-12-2018 |
Kieran Delahunt (Contact Online) |
Added methods for product, make, model |
| 1.8 |
21-03-2019 |
Kieran Delahunt (Contact Online) |
Added method to list filtered leads for dealership (GetMatchingLeads) |
| 1.9 |
21-03-2019 |
Kieran Delahunt (Contact Online) |
Added parameters to GetMatchingLeads for date filtering |
| 1.10 |
24-12-2020 |
Kieran Delahunt (Contact Online) |
Added field max lengths |
Service locations
Version
Currently 1.10
Methods
1. Create lead and activity
Allows the user to create a lead and activity in the Contact Online system
Request
|
Method
|
CreateLeadAndActivity
|
|
Action
|
/IntegrationService/CreateLeadAndActivity
|
| Params |
Values |
Required |
Description |
|
LMSAuthentication
|
Authentication object
|
True
|
As below
|
|
DealershipID
|
int
|
True
|
|
|
ExternalLead
|
Lead object
|
True
|
As below
|
|
ExternalLeadActivity
|
LeadActivity object
|
True
|
As below
|
Parameter values
LMSAuthentication
| Field |
Type |
Required |
Notes |
|
Username
|
string
|
True
|
|
|
password
|
string
|
True
|
|
ExternalLead
| Field |
Type |
Required |
Notes |
|
Title
|
string
|
False
|
Max length 25 |
|
Firstname
|
string
|
True
|
Max length 255 |
|
Lastname
|
string
|
True
|
Max length 255 |
|
Email
|
string
|
True
|
Max length 255 |
|
Address1
|
string
|
False
|
Max length 255 |
|
Address2
|
string
|
False
|
Max length 255 |
|
Address3
|
string
|
False
|
Max length 255 |
|
City
|
string
|
False
|
Max length 255 |
|
Postcode
|
string
|
False
|
Max length 10 |
|
County
|
string
|
False
|
Max length 255 |
|
Country
|
string
|
False
|
Max length 255 |
|
Mobile
|
string
|
False
|
Max length 20 |
|
Home
|
string
|
False
|
Max length 20 |
|
Work
|
string
|
False
|
Max length 20 |
|
PreferredContactMethod
|
int
|
False
|
|
|
OptIn
|
boolean
|
False
|
|
|
DOB
|
DateTime
|
False
|
|
|
PeronalNotes
|
string
|
False
|
Max length 20 |
|
ExternalLeadReference
|
string
|
True
|
Max length 20 |
|
AdditionalSource
|
string
|
True
|
Max length 20 |
|
CanCall
|
boolean
|
False
|
False by default |
|
CanEmail
|
boolean
|
False
|
False by default |
|
CanPost
|
boolean
|
False
|
False by default |
|
CanSms
|
boolean
|
False
|
False by default |
|
CanCallManufacturer
|
boolean
|
False
|
False by default |
|
CanEmailManufacturer
|
boolean
|
False
|
False by default |
|
CanPostManufacturer
|
boolean
|
False
|
False by default |
|
CanSmsManufacturer
|
boolean
|
False
|
False by default |
|
LeadID
|
int
|
False
|
Set to 0 if new lead |
ExternalLeadActivity
| Field |
Type |
Required |
Notes |
|
LeadID
|
int
|
True
|
Set to 0 if new lead |
|
LeadActivityID
|
int
|
True
|
Set to 0 if new lead |
|
InterestProductID
|
int
|
True
|
|
|
InterestMakeID
|
int
|
True
|
|
|
InterestModelID
|
int
|
True
|
|
|
InterestDetail
|
string
|
False
|
|
|
InterestIsNew
|
boolean
|
False
|
|
|
InterestIsMotability
|
boolean
|
False
|
|
|
DiaryNotes
|
string
|
False
|
Max length 255 |
Response
| Parameter |
Value |
|
CreateLeadAndActivityResponse
|
CreateLeadAndActivityResponse object
|
2. Create lead and activity by external dealership id
Allows the user to create a lead and activity in the Contact Online system
Request
|
Method
|
CreateLeadAndActivityByExternalDealershipID
|
|
Action
|
/IntegrationService/CreateLeadAndActivityByExternalDealershipID
|
| Params |
Values |
Required |
Description |
|
LMSAuthentication
|
Authentication object
|
True
|
As below
|
|
ExternalDealershipID
|
string
|
True
|
|
|
ExternalLead
|
Lead object
|
True
|
As below
|
|
ExternalLeadActivity
|
LeadActivity object
|
True
|
As below
|
Parameter values
LMSAuthentication
| Field |
Type |
Required |
Notes |
|
Username
|
string
|
True
|
|
|
password
|
string
|
True
|
|
ExternalLead
| Field |
Type |
Required |
Notes |
|
Title
|
string
|
False
|
Max length 25 |
|
Firstname
|
string
|
True
|
Max length 255 |
|
Lastname
|
string
|
True
|
Max length 255 |
|
Email
|
string
|
True
|
Max length 255 |
|
Address1
|
string
|
False
|
Max length 255 |
|
Address2
|
string
|
False
|
Max length 255 |
|
Address3
|
string
|
False
|
Max length 255 |
|
City
|
string
|
False
|
Max length 255 |
|
Postcode
|
string
|
False
|
Max length 10 |
|
County
|
string
|
False
|
Max length 255 |
|
Country
|
string
|
False
|
Max length 255 |
|
Mobile
|
string
|
False
|
Max length 20 |
|
Home
|
string
|
False
|
Max length 20 |
|
Work
|
string
|
False
|
Max length 20 |
|
PreferredContactMethod
|
int
|
False
|
|
|
OptIn
|
boolean
|
False
|
|
|
DOB
|
DateTime
|
False
|
|
|
PeronalNotes
|
string
|
False
|
Max length 20 |
|
ExternalLeadReference
|
string
|
True
|
Max length 20 |
|
AdditionalSource
|
string
|
True
|
Max length 20 |
|
CanCall
|
boolean
|
False
|
False by default |
|
CanEmail
|
boolean
|
False
|
False by default |
|
CanPost
|
boolean
|
False
|
False by default |
|
CanSms
|
boolean
|
False
|
False by default |
|
CanCallManufacturer
|
boolean
|
False
|
False by default |
|
CanEmailManufacturer
|
boolean
|
False
|
False by default |
|
CanPostManufacturer
|
boolean
|
False
|
False by default |
|
CanSmsManufacturer
|
boolean
|
False
|
False by default |
|
LeadID
|
int
|
False
|
Set to 0 if new lead |
ExternalLeadActivity
| Field |
Type |
Required |
Notes |
|
LeadID
|
int
|
True
|
Set to 0 if new lead |
|
LeadActivityID
|
int
|
True
|
Set to 0 if new lead |
|
InterestProductID
|
int
|
True
|
|
|
InterestMakeID
|
int
|
True
|
|
|
InterestModelID
|
int
|
True
|
|
|
InterestDetail
|
string
|
False
|
|
|
InterestIsNew
|
boolean
|
False
|
|
|
InterestIsMotability
|
boolean
|
False
|
|
|
DiaryNotes
|
string
|
False
|
Max length 255 |
Response
| Parameter |
Value |
|
CreateLeadAndActivityResponse
|
CreateLeadAndActivityResponse object
|
3. Create a test ride booking
Allows the user to create a test ride booking in the Contact Online system
Request
|
Method
|
CreateTestRideBooking
|
|
Action
|
/IntegrationService/CreateTestRideBooking
|
| Params |
Values |
Required |
Description |
|
LMSAuthentication
|
Authentication object
|
True
|
As below
|
|
DealershipID
|
string
|
True
|
|
|
Lead
|
Lead object
|
True
|
As below
|
|
testRide
|
TestRide object
|
True
|
As below
|
Parameter values
LMSAuthentication
| Field |
Type |
Required |
Notes |
|
Username
|
string
|
True
|
|
|
password
|
string
|
True
|
|
ExternalLead
| Field |
Type |
Required |
Notes |
|
Title
|
string
|
False
|
Max length 25 |
|
Firstname
|
string
|
True
|
Max length 255 |
|
Lastname
|
string
|
True
|
Max length 255 |
|
Email
|
string
|
True
|
Max length 255 |
|
Address1
|
string
|
False
|
Max length 255 |
|
Address2
|
string
|
False
|
Max length 255 |
|
Address3
|
string
|
False
|
Max length 255 |
|
City
|
string
|
False
|
Max length 255 |
|
Postcode
|
string
|
False
|
Max length 10 |
|
County
|
string
|
False
|
Max length 255 |
|
Country
|
string
|
False
|
Max length 255 |
|
Mobile
|
string
|
False
|
Max length 20 |
|
Home
|
string
|
False
|
Max length 20 |
|
Work
|
string
|
False
|
Max length 20 |
|
PreferredContactMethod
|
int
|
False
|
|
|
OptIn
|
boolean
|
False
|
|
|
DOB
|
DateTime
|
False
|
|
|
PeronalNotes
|
string
|
False
|
Max length 20 |
|
ExternalLeadReference
|
string
|
True
|
Max length 20 |
|
AdditionalSource
|
string
|
True
|
Max length 20 |
|
CanCall
|
boolean
|
False
|
False by default |
|
CanEmail
|
boolean
|
False
|
False by default |
|
CanPost
|
boolean
|
False
|
False by default |
|
CanSms
|
boolean
|
False
|
False by default |
|
CanCallManufacturer
|
boolean
|
False
|
False by default |
|
CanEmailManufacturer
|
boolean
|
False
|
False by default |
|
CanPostManufacturer
|
boolean
|
False
|
False by default |
|
CanSmsManufacturer
|
boolean
|
False
|
False by default |
|
LeadID
|
int
|
False
|
Set to 0 if new lead |
ExternalLeadActivity
| Field |
Type |
Required |
Notes |
|
LeadID
|
int
|
True
|
Set to 0 if new lead |
|
LeadActivityID
|
int
|
True
|
Set to 0 if new lead |
|
InterestProductID
|
int
|
True
|
|
|
InterestMakeID
|
int
|
True
|
|
|
InterestModelID
|
int
|
True
|
|
|
InterestDetail
|
string
|
False
|
|
|
InterestIsNew
|
boolean
|
False
|
|
|
InterestIsMotability
|
boolean
|
False
|
|
|
DiaryNotes
|
string
|
False
|
Max length 255 |
Response
| Parameter |
Value |
|
CreateLeadAndActivityResponse
|
CreateLeadAndActivityResponse object
|
Response
| Parameter |
Value |
|
CreateTestRideBookingResponse
|
CreateTestRideBookingResponse object
|
4. Create a notification
Allows the user to create a notification in the Contact Online system
Request
|
Method
|
CreateNotification
|
|
Action
|
/IntegrationService/CreateNotification
|
| Params |
Values |
Required |
Description |
|
LMSAuthentication
|
Authentication object
|
True
|
As below
|
|
DealershipID
|
string
|
True
|
|
|
Lead
|
Lead object
|
True
|
As below
|
Parameter values
LMSAuthentication
| Field |
Type |
Required |
Notes |
|
Username
|
string
|
True
|
|
|
password
|
string
|
True
|
|
Lead
| Field |
Type |
Required |
Notes |
|
Title
|
string
|
False
|
Max length 25 |
|
Firstname
|
string
|
True
|
Max length 255 |
|
Lastname
|
string
|
True
|
Max length 255 |
|
Email
|
string
|
True
|
Max length 255 |
|
Address1
|
string
|
False
|
Max length 255 |
|
Address2
|
string
|
False
|
Max length 255 |
|
Address3
|
string
|
False
|
Max length 255 |
|
City
|
string
|
False
|
Max length 255 |
|
Postcode
|
string
|
False
|
Max length 10 |
|
County
|
string
|
False
|
Max length 255 |
|
Country
|
string
|
False
|
Max length 255 |
|
Mobile
|
string
|
False
|
Max length 20 |
|
Home
|
string
|
False
|
Max length 20 |
|
Work
|
string
|
False
|
Max length 20 |
|
PreferredContactMethod
|
int
|
False
|
|
|
OptIn
|
boolean
|
False
|
|
|
DOB
|
DateTime
|
False
|
|
|
PeronalNotes
|
string
|
False
|
Max length 20 |
|
ExternalLeadReference
|
string
|
True
|
Max length 20 |
|
AdditionalSource
|
string
|
True
|
Max length 20 |
|
CanCall
|
boolean
|
False
|
False by default |
|
CanEmail
|
boolean
|
False
|
False by default |
|
CanPost
|
boolean
|
False
|
False by default |
|
CanSms
|
boolean
|
False
|
False by default |
|
CanCallManufacturer
|
boolean
|
False
|
False by default |
|
CanEmailManufacturer
|
boolean
|
False
|
False by default |
|
CanPostManufacturer
|
boolean
|
False
|
False by default |
|
CanSmsManufacturer
|
boolean
|
False
|
False by default |
|
LeadID
|
int
|
False
|
Set to 0 if new lead |
Response
| Parameter |
Value |
|
CreateNotificationResponse
|
CreateNotificationResponse object
|
5. Get Dealership Leads
Allows the dealership to request sold/all leads in the Contact Online system
Request
|
Method
|
GetLeads
|
|
Action
|
/IntegrationService/GetLeads
|
| Params |
Values |
Required |
Description |
|
LMSAuthentication
|
Authentication object
|
True
|
As below
|
|
dealerCode
|
int
|
True
|
Obtained from COL |
|
soldLeadsOnly
|
boolean
|
True
|
Sold only / All leads
|
Parameter values
LMSAuthentication
| Field |
Type |
Required |
Notes |
|
Username
|
string
|
True
|
|
|
password
|
string
|
True
|
|
Response
| Parameter |
Value |
|
GetLeadsResponse
|
GetLeadsResponse object
|
6. Get Individual Lead
Allows the user to get a lead’s detail from the Contact Online system
Request
|
Method
|
GetLead
|
|
Action
|
/IntegrationService/GetLead
|
| Params |
Values |
Required |
Description |
|
LMSAuthentication
|
Authentication object
|
True
|
As below
|
|
dealerCode
|
int
|
True
|
Obtained from COL |
|
CID
|
int
|
True
|
Obtained from /GetLeads
|
Parameter values
LMSAuthentication
| Field |
Type |
Required |
Notes |
|
Username
|
string
|
True
|
|
|
password
|
string
|
True
|
|
Response
| Parameter |
Value |
|
GetLeadResponse
|
GetLeadResponse object
|
7. Get Dealers
Allows the user to get authorised dealers from the Contact Online system including name and id
Request
|
Method
|
GetDealers
|
|
Action
|
/IntegrationService/GetDealers
|
| Params |
Values |
Required |
Description |
|
LMSAuthentication
|
Authentication object
|
True
|
As below
|
Parameter values
LMSAuthentication
| Field |
Type |
Required |
Notes |
|
Username
|
string
|
True
|
|
|
password
|
string
|
True
|
|
Response
| Parameter |
Value |
|
DealerResponse
|
DealerResponse object
|
8. Get Individual Dealer
Allows the user to get a dealer’s name and id from the Contact Online system
Request
|
Method
|
GetDealer
|
|
Action
|
/IntegrationService/GetDealer
|
| Params |
Values |
Required |
Description |
|
LMSAuthentication
|
Authentication object
|
True
|
As below
|
|
IntegrationCode
|
int
|
True
|
Obtained from COL or /GetDealers |
Parameter values
LMSAuthentication
| Field |
Type |
Required |
Notes |
|
Username
|
string
|
True
|
|
|
password
|
string
|
True
|
|
Response
| Parameter |
Value |
|
DealerResponse
|
DealerResponse object
|
9. Get Products
Allows the user to get products and ids from the Contact Online system
Request
|
Method
|
GetProducts
|
|
Action
|
/IntegrationService/GetProducts
|
| Params |
Values |
Required |
Description |
|
LMSAuthentication
|
Authentication object
|
True
|
As below
|
Parameter values
LMSAuthentication
| Field |
Type |
Required |
Notes |
|
Username
|
string
|
True
|
|
|
password
|
string
|
True
|
|
Response
| Parameter |
Value |
|
ObjectResponse
|
ObjectResponse object
|
10. Get Makes
Allows the user to get makes and ids from the Contact Online system
Request
|
Method
|
GetMakes
|
|
Action
|
/IntegrationService/GetMakes
|
| Params |
Values |
Required |
Description |
|
LMSAuthentication
|
Authentication object
|
True
|
As below
|
|
ProductId
|
int
|
False
|
Pass an Id value from GetProducts or null for all makes
|
Parameter values
LMSAuthentication
| Field |
Type |
Required |
Notes |
|
Username
|
string
|
True
|
|
|
password
|
string
|
True
|
|
Response
| Parameter |
Value |
|
ObjectResponse
|
ObjectResponse object
|
11. Get Models
Allows the user to get models and ids from the Contact Online system
Request
|
Method
|
GetModels
|
|
Action
|
/IntegrationService/GetModels
|
| Params |
Values |
Required |
Description |
|
LMSAuthentication
|
Authentication object
|
True
|
As below
|
|
MakeId
|
int
|
False
|
Pass an Id value from GetMakes or null for all models
|
Parameter values
LMSAuthentication
| Field |
Type |
Required |
Notes |
|
Username
|
string
|
True
|
|
|
password
|
string
|
True
|
|
Response
| Parameter |
Value |
|
ObjectResponse
|
ObjectResponse object
|
12. Get Filtered Dealership Leads
Allows the dealership to request filtered leads in the Contact Online system based on first name, lastname, email and mobile
Request
|
Method
|
GetMatchingLeads
|
|
Action
|
/IntegrationService/GetMatchingLeads
|
| Params |
Values |
Required |
Description |
|
LMSAuthentication
|
Authentication object
|
True
|
As below
|
|
dealerCode
|
int
|
True
|
Obtained from COL |
|
searchObject
|
LeadCompact object
|
True
|
As below
|
Parameter values
LMSAuthentication
| Field |
Type |
Required |
Notes |
|
Username
|
string
|
True
|
|
|
password
|
string
|
True
|
|
searchObject
| Field |
Type |
Required |
Notes |
|
Firstname
|
string
|
False
|
Leave empty or null to match all |
|
Lastname
|
string
|
False
|
Leave empty or null to match all |
|
Email
|
string
|
False
|
Leave empty or null to match all |
|
Mobile
|
string
|
False
|
Leave empty or null to match all |
|
CreationDate
|
DateTime
|
False
|
Leave empty or null to match all |
|
StartDate
|
DateTime
|
False
|
Use in conjunction with EndDate for creation date between |
|
EndDate
|
DateTime
|
False
|
Use in conjunction with StartDate for creation date between |
Response
| Parameter |
Value |
|
GetLeadResponse
|
GetLeadResponse object
|
Status Codes
|
Status Code
|
Description |
| 100 |
Authentication not provided |
| 101 |
Username or password not provided |
| 102 |
Invalid username or password
|
| 103 |
Lead not active |
| 104 |
Lead activity not valid |
| 105 |
Dealership id not provided |
| 106 |
Dealership diary not set |
| 107 |
Dealership id not valid |
| 108 |
Dealership not mapped |
| 109 |
Lead creation failed |
| 110 |
Lead creation failed |
| 111 |
Lead and activity created successfully |
| 112 |
External LMS lead reference not provided |
| 113 |
Unhandled exception |
| 114 |
Lead and activity created but some invalid data ignored |
| 115 |
Notification created successfully |
| 116 |
Test ride created successfully |
| -300 |
Sales person does not exist |
| -400 |
Lead does not exist |
| -500 |
Lead does not belong to sales person |