Leadflow

What is LeadFlow, and do I need it?

Tired of importing leads from BoatWizard to your team? Then LeadFlow may be the solution you’re looking for. 

AdvantagePlus and AdvantageSelect members can use our latest feature, LeadFlow, which was created to help you manage inbound leads from your Boats Group membership within the CRM of your choice - reducing the number of systems you have to use to receive and manage leads. WIth LeadFlow, you can pass lead form and listing information through a feed versus a traditional email.  

The implementation of LeadFlow is easy. We offer a turnkey solution that will seamlessly import your Boats Group leads into your CRM - and set up only takes a few days. There are no service interruptions or integration downtime. Once the import is set up, you’ll receive clean, accurate, and consistent lead data in real-time. 

LeadFlow: Receiver Guidelines

This document contains technical documentation to help new partners who want to receive lead submissions from Boats Group’s LeadFlow. Its content is purely for guidance - it is not intended to create or affect any legal contract.

Data Format

LeadFlow sends leads in a simple proprietary JSON format. See below for an example. Since this format is designed for machine readability, custom development or configuration will be required to make good use of it.

  • Each submission includes a lead ID. It's recommended that you use this ID to check for duplicate leads. If your system receives a duplicate it can be ignored.
  • Most fields are optional. It's best to assume that any field could be missing or empty. However, a theoretical minimal document is included below for guidance.
  • Many fields do not have a fixed set of possible values. It is recommended that your system always takes a sensible default action if it receives a unexpected input.
  • Additional fields may be added in the future, without notice. Your system should accept leads having fields not listed here, even if it ignores them.

Transport

Leads can be sent by HTTP post or by email. HTTP is recommended because email does not allow Boats Group to keep track of the submission status.

HTTP

  • You must provide an endpoint that can accept HTTP POST in LeadFlow JSON format. For data security, this should be an encrypted (HTTPS) endpoint.
  • The JSON data will be posted as the body of the request - there are no form parameters.
  • A 2xx status code should be returned after successfully processing the document, e.g., 200 or 201. Redirects will not be followed.
  • If your system receives a duplicate lead (by lead ID, see above) a 2xx status code should be returned to prevent resubmission.
  • If the connection is unsuccessful or your system returns a non-success status code, the lead will be resubmitted periodically until a success code is received.
  • LeadFlow does not support authentication. It's suggested that you use IP address filtering to restrict who can post leads.

Email

  • Leads can be sent in LeadFlow JSON format as an attachment to an email.
  • The text body of the email will be empty.
  • The subject of the email will be LeadFlow.
  • The message will be sent from leads@leads.boatwizard.com.
  • There will be a single attachment called lead_attachment.json.
  • If your system receives a duplicate lead (based on lead ID), it should be ignored. However, duplicates are unlikely to be sent because it will typically be assumed that the message was delivered successfully.

Notes on Individual Fields

Most fields are free-form text. See example below for a complete list.

  • lead.id: This is the Boats Group lead ID. It should be used to identify duplicate leads and to reference specific leads when troubleshooting.
  • lead.date: The date and time the lead was originally submitted, including time zone. (Z indicates UTC/GMT. See example below.)
  • lead.source: This will always be "Boats Group".
  • lead.detailedSource:Fine-grained source of the lead. This could be any value, e.g. "boats.com dealer showroom" 
  • lead.detailedSourceSummary: Coarser-grained source of the lead. This could be any value, e.g. "boats.com".
  • lead.requestType: Free-form text field indicating what action the contact took, e.g. which version of a lead form was used. This may be generic like "INTERESTED-IN" or more specific like "Request Quote". Additional request types may be added without notice as our websites are updated.
  • contact: The person submitting the lead.
  • contact.name: Note: many lead forms have only a single field for name. In that case, the split into first and last is a best guess. The display fieldis a concatenation of those two fields, for convenience. 
  • contact.phone: This is free-form text as submitted by the consumer. No specific format should be assumed.
  • contact.country: Standard two letter ISO code.
  • contact.postalCode: Available on US leads only. We do not collect postal codes from international leads.  
  • customerComments: This is typically the text the sender enters into a "comments" or "message" box.
  • leadComments: The content of this field is specific to the source of the lead. It may contain additional information about the lead, and/or it may duplicate other information in plain text format. It's suggested to display both customerCommentsandleadComments concatenated with a suitable separator.
  • boat.make: Whether an OEM lead or a Boat Lead, this field is always available, and it is the brand name.
  • boat.classCode: A code indicating the type or intended use of the boat. This will be a STAR Standard code.
  • boat.condition: New or Used. 
  • boat.length: Nominal length of the boat. The measure may be an integer or decimal. The units will be feet or meter.
  • boat.location:Location of the boat.
  • boat.location.country: Standard two-letter ISO code. 
  • boat.location.stateProvince: Top-level country subdivision, e.g. state, province, county, etc. This should be interpreted in the context of the location country. These are the usual two-letter state/province codes for the United States and Canada. For France, this is the two-digit department code. For other countries, the codes may be non-standard.
  • boat.price: Listing price in the actual listed currency. 
  • boat.imtId: The BoatWizard Inventory Management Tool ID of the listing.
  • boat.url: The URL of the page where the lead originated or the detail page for the listing on the site where it originated.
  • recipient.officeName: Office or company name for the intended recipient of the lead. 
  • recipient.officeId: BoatWizard office or company ID for the intended recipient of the lead.
  • recipient.contactName: Name of the person the lead is intended for.
  • leadSmart.leadHistory:A list of other boats that a visitor has inquired about on

Boats Group sites.

  • leadSmart.leadHistory.make:Make of the boat for which the visitor submitted a prior lead.
  • leadSmart.leadHistory.model: Model of the boat for which the visitor submitted a prior lead.
  • leadSmart.leadHistory.year:Year of the boat for which the visitor submitted a

prior lead. Displayed as string type.

  • leadSmart.leadHistory.dateOfLead: Date prior lead was submitted by visitor,

including time zone. (Z indicates UTC/GMT. See example below.)

  • leadSmart.leadHistory.portalName: The brand name of the site to which

previous leads were sent.

  • leadSmart.leadHistory.location: Boat Location of other boats that the visitor

have previously submitted.

  • leadSmart.leadHistory.location.city: City where the boat is located for

which the visitor  has previously submitted a lead.

  • leadSmart.leadHistory.location.country: Country where the boat is located

for  which the visitor  has previously submitted a lead.

  • leadSmart.leadHistory.location.stateProvince: State or Province where

the boat is located for which the visitor has previously submitted a lead.

Example: Complete Lead

{

"lead": {

   "id": "10000001",

   "date": "2022-01-20T12:36:22.000Z",

   "source": "Boats Group",

   "detailedSource": "YachtWorld-Broker SRP",

   "detailedSourceSummary": "YachtWorld",

   "requestType": "Contact Broker"

},

"contact": {

   "name": {

     "display": "Jane Doe",

     "first": "Jane",

     "last": "Doe"

   },

   "phone": "+33123456789",

   "email": "jane@doe.test",

   "country": "US",

   "postalCode": "99705"

},

"customerComments": "These are CustomerComments.",

"leadComments": "These are LeadComments.",

"boat": {

   "classCode": "Bass Boats",

   "condition": "Used",

   "make": "Dean",

   "model": "440 44XL",

   "year": "2000",

   "hin": "HIN12345",

   "length" : {

     "measure": "44",

     "units": "feet"

   },

   "location": {

     "city": "Vancouver",

     "stateProvince": "BC",

     "country": "CA",

     "postalCode": "V6E 3V6"

   },

   "price": {

     "amount": "44000",

     "currency": "CAD"

   },

   "stockNumber": "STK12345",

   "name": "Breezy",

   "imtId": "7828595",

   "url": "https://www.yachtworld.com/yacht/2000-dean-440-7828595/"

},

"recipient": {

   "officeName": "Boats R Us",

   "officeId": "389841",

   "contactName": "Chris Smith"

},

"leadSmart": {

   "leadHistory": [

    {

      "make":"JC PONTOON",

      "model": "Spirit 265 RFL",

      "year": "2017",

      "dateOfLead": "2022-08-20T12:36:22.00Z",

      "portalName": "Boat Trader",

      "location": {

        "city": "Chapin",

        "country": "US”

        "stateProvince": "SC"

      }

    },

   ]

 }

}

Example: Minimal Lead

Almost any field could be missing or empty. This is the theoretical minimal lead document.

{

"lead": {

   "id": "10000001",

   "source": "Boats Group"

},

"contact": {

   "name": {}

 },

"boat": {

   "make": "Dean",

   "length": {},

   "location": {},

   "price": {}

 },

"recipient": {   "officeName": "Boats R Us",

    "officeId": "389841"

 }

}

IPs to Whitelist

35.171.79.77

52.2.114.120

FAQ

What field can I use to identify the site the lead came from? 

The DetailedSourceSummary can be used to identify the site the lead came from, such as boats.com, boattrader.com. 

What field can we use to identify what OEM the lead is for? 

The Make field can be used to identify the OEM. 

Will the Make field always have a value? 

Yes, the Make value in the Boat object will always be passed. 

Should we expect to always receive a Make and Model? 

You can expect to always receive a Make. The Model will be passed if the lead is associated with a listing. If the “Contact Manufacturer," “Request Price,” or “Request More Information” forms are used on a Brand page that is not associated with a specific listing, the Model will not be passed. 

Is it possible to handle authentication via bearer token? 

Not at this time. 

Do you pass us the Message in the lead form? 

Yes, we will pass the message written by the customer in the lead form. 

How do I know which lead form CTA was used? 

The Request Type will match the CTA used. 

Will I always receive the Country of the lead? 

Yes, we will always pass the Country of the lead. 

Will I always receive a Zip Code/Postal Code for the lead? 

No, we only collect and pass Zip Codes/Postal Codes for leads submitted in the USA. 

If outside of the USA, the Country, not the Postal Code is passed. 

Can I receive the City of the lead? 

We do not collect the customer’s City on the lead form, only their Zip Code/Postal Code if in the USA and Country if outside of the USA. 

First and Last names are a requirement in our lead routing. Will we receive both?

Many lead forms have only a single field for name. In that case, the split into first and last name is a best guess. Some lead forms require the user to enter more than one name, but not all do, so it is not guaranteed that the user will enter both names for us to deliver both.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.