Lead Capture
Description
Le formulaire Lead Capture pour IO Reports permet aux clients de capturer facilement des prospects et de livrer instantanément des rapports de quartier et de marché personnalisés et à leur image, grâce à des intégrations SDK ou API de génération de prospects.
Pour des trucs, astuces et bonnes pratiques concernant la mise en œuvre de Lead Capture, consultez notre Guide de mise en œuvre.


Installation
Nos produits SDK sont servis à partir d'une source unique.
- React
- React Native
- Vanilla JavaScript
Les SDK sont conçus pour fonctionner avec React et d'autres cadriciels déclaratifs.
D'abord, installez le script d'entrée avec npm, yarn ou pnpm :
npm i --save @local-logic/sdks-js
yarn add @local-logic/sdks-js
pnpm add @local-logic/sdks-js
Exemple
import { useRef, useEffect } from "react";
import LLSDKsJS from "@local-logic/sdks-js";
const globalOptions = {
locale: "en", // Si disponible, changer pour anglais ou français
appearance: {
// Ajoutez ici toute autre modification d'apparence
// Consultez la section "Appearance" ci-dessous pour la liste des options disponibles.
variables: {
"--ll-color-primary": "#fd3958",
"--ll-color-primary-variant1": "#d5405b",
"--ll-font-family": "Avenir, sans-serif"
}
}
};
const localLogicClient = LLSDKsJS("your-api-key-here", globalOptions);
function LeadCaptureSDKComponent() {
const containerRef = useRef(null);
useEffect(() => {
if (!containerRef.current) {
return;
}
const sdkOptions = {
lat: 45.5282164, lng: -73.5978527
// ...Autres options propres au SDK
}
const sdkInstance = localLogicClient.create(
"lead-capture",
containerRef.current,
sdkOptions,
);
// Il est important de détruire l'instance du SDK lorsque le composant est démonté.
return () => {
sdkInstance.destroy();
}
}, []);
return (
<div
ref={containerRef}
style={{
// La hauteur dépend du SDK que vous implémentez
height: "700px",
width: "100%",
}}
/>
);
}
export default LeadCaptureSDKComponent;
Le composant SDK React Native de Local Logic vous permet d'ajouter facilement l'un de nos SDK à vos applications natives Android et iOS à l'aide de React Native.
D'abord, installez le script d'entrée avec npm, yarn ou pnpm :
npm i --save @local-logic/sdks-js
yarn add @local-logic/sdks-js
pnpm add @local-logic/sdks-js
Installer la dépendance React Native Webview
React Native Webview est utilisé pour porter les SDK Local Logic vers React Native.
Expo CLI
Installez la version prise en charge de react-native-webview pour les applications Expo à l'aide d'Expo CLI.
npx expo install react-native-webview
React Native CLI
Installez react-native-webview à l'aide du gestionnaire de paquets de votre projet :
npm i --save react-native-webview
yarn add react-native-webview
pnpm add react-native-webview
Si vous utilisez CocoaPods, dans le répertoire ios/ ou macos/, exécutez :
pod install
Utilisation
Le composant React Native accepte les mêmes options que nos SDK Web par l'intermédiaire de ses propriétés options, appearanceOptions et renderOptions.
import LLSDKs from "@local-logic/sdks-react-native";
const globalOptions = {
locale: "en", // Changer pour anglais ou français
appearance: {
// Ajoutez ici toute autre modification d'apparence
// Consultez la section "Appearance" ci-dessous pour la liste des options disponibles
variables: {
"--ll-color-primary": "#fd3958",
"--ll-color-primary-variant1": "#d5405b",
"--ll-font-family": "Avenir, sans-serif"
}
}
};
const sdkOptions = {
lat: 45.5282164, lng: -73.5978527
// ...Autres options propres au SDK
};
<LLSDKs
apiKey="your-api-key-here"
sdkType="lead-capture"
options={sdkOptions}
appearanceOptions={globalOptions}
renderOptions={{ lazy: false }}
/>
Le script est disponible aux formats umd et es à partir du CDN de Local Logic : https://sdk.locallogic.co/sdks-js/<VERSION>/index.<FORMAT>.js
<VERSION> est le dernier numéro de version du script (que vous pouvez trouver sur npm), et <FORMAT> est soit umd, soit es.
Exemple
<!DOCTYPE html>
<html>
<head>
<title>SDK Javascript Example</title>
<meta charset="UTF-8" />
</head>
<body>
<script
async
src="https://sdk.locallogic.co/sdks-js/<version>/index.umd.js"
onload="loadLeadCaptureSDK()"
></script>
<style>
#lead-capture-widget {
height: 700px;
width: 100%;
}
</style>
<!--REMARQUE : Si vous implémentez plusieurs SDK, assurez-vous de créer des ID uniques pour chacun-->
<div id="lead-capture-widget"></div>
<script>
const globalOptions = {
locale: "en", // Changer pour anglais ou français
appearance: {
// Ajoutez ici toute autre modification d'apparence
// Consultez la section "Appearance" ci-dessous pour la liste des options disponibles
variables: {
"--ll-color-primary": "#fd3958",
"--ll-color-primary-variant1": "#d5405b",
"--ll-font-family": "Avenir, sans-serif"
}
}
};
function loadLeadCaptureSDK() {
// Votre clé API ou jeton
const ll = LLSDKsJS("your-api-key-here", globalOptions);
// Il s'agit du div qui contiendra le widget
const sdkContainer = document.getElementById("lead-capture-widget");
const sdkOptions = {
lat: 45.5282164, lng: -73.5978527
// ...Autres options propres au SDK
}
const sdkInstance = ll.create("lead-capture", sdkContainer, sdkOptions);
}
</script>
</body>
</html>
Configuration
Clé API
Votre clé API vous sera fournie par l'équipe Local Logic.
Options globales
const localLogicClient = localLogicSDK(apiKey, globalOptions)
Ces options sont disponibles pour tous les SDK. Vous pourrez également spécifier des options propres à chaque SDK, selon le SDK que vous implémentez. Ces options seront disponibles dans la documentation propre à chaque SDK
| Nom | Requis | Type | Valeur par défaut | Description |
|---|---|---|---|---|
apiKey | true | string | Clé API requise pour effectuer des requêtes vers l'API Local Logic. | |
globalOptions.appearance | false | Appearance | L'option appearance permet d'utiliser des variables pour personnaliser l'apparence de vos widgets. | |
globalOptions.locale | false | "en" ou "fr" | "en" | L'option locale spécifie la langue des pointages et de l'interface utilisateur. |
globalOptions.externalId | false | string | Pour les SDK connectés à l'application de gestion de quartier (Neighborhood Management App) du Local Logic Hub. Ce champ est requis pour que les SDK Neighborhood Showcase et Favorite Neighborhoods fonctionnent |
Apparence
Variables couramment utilisées
| Variable | Description |
|---|---|
--ll-color-primary | La couleur principale de la marque. |
--ll-font-family | Modifie la police de caractères utilisée dans l'ensemble des SDK. Actuellement, les SDK ne prennent en charge que les polices système. Cette valeur doit toujours inclure une police de secours, par exemple Inter, sans-serif. |
Fonctions
Une fois que vous avez initialisé votre client SDK avec votre clé API et vos options globales, plusieurs fonctions sont disponibles.
Create
const sdkInstance = localLogicClient.create("lead-capture", container, sdkOptions)
Cette fonction crée un nouveau widget SDK selon le nom spécifié.
Les sdkOptions sont spécifiques à chaque SDK créé.
| Nom | Requis | Type | Valeur par défaut | Description |
|---|---|---|---|---|
sdkType | true | string | Le SDK que vous souhaitez créer. "lead-capture" dans ce cas. | |
container | true | HTMLElement | L'élément dans lequel effectuer le rendu. | |
sdkOptions | true | SDKOptions | Options requises pour le sdkType spécifié. Les options sont détaillées ci-dessous. |
SDKOptions
| Name | Required | Type | Default | Description |
|---|---|---|---|---|
sdkOptions.lat | * | number | Latitude de la zone que le rapport généré doit couvrir. * Ce champ est requis si vous n'utilisez pas geographyId. Si geographyId est défini, ce champ est ignoré. | |
sdkOptions.lng | * | number | Longitude de la zone que le rapport généré doit couvrir. * Ce champ est requis si vous n'utilisez pas geographyId. Si geographyId est défini, ce champ est ignoré. | |
sdkOptions.addressLabel | * | string | Adresse de l'emplacement; elle est nécessaire pour générer des rapports destinés aux acheteurs. * Ce champ est requis si vous n'utilisez pas geographyId. Si geographyId est défini, ce champ est ignoré. | |
sdkOptions.geographyId | * | string | L'ID de géographie Local Logic. Les géographies valides sont celles de niveau inférieur à 40 : celles qui commencent par g10_, g20_, g30_, g32_, g35_, g37_ et g38_.* Ce champ est requis si vous n'utilisez pas lat/lng. | |
sdkOptions.customData | CustomData | Permet aux clients de transmettre des métadonnées supplémentaires sur chaque prospect, sous forme de paires clé/valeur. Veuillez noter que cette fonctionnalité est désactivée par défaut. Veuillez communiquer avec support@locallogic.co pour en demander l'activation pour votre compte. |
Exemples d'utilisation
Le SDK Lead Capture peut être instancié de deux façons mutuellement exclusives :
- En utilisant
lat,lng- Requis :
lat,lng,addressLabel
const sdk = await loadLeadCaptureSDK({sdkOptions: {lat: 45.5282164, lng: -73.5978527addressLabel: "123 Main Street, Montreal, QC",},}); - Requis :
- En utilisant
geographyId- Requis :
geographyId - Ignoré :
lat,lng,addressLabel
const sdk = await loadLeadCaptureSDK({sdkOptions: {geographyId: "g10_drt2yt86",// lat, lng et addressLabel ne sont pas nécessaires et seront ignorés s'ils sont fournis},}); - Requis :
Update
sdkInstance.update(sdkOptions)
Cette fonction sert à mettre à jour le widget avec de nouvelles valeurs. Cela peut être utile, par exemple, si vous souhaitez changer l'emplacement du widget.
L'objet sdkOptions suit la même structure qu'à la création.
On
sdkInstance.on(event, callback)
Cette fonction prend en argument une fonction de rappel (callback) qui est déclenchée lorsqu'un event survient. Actuellement, il n'existe qu'un seul événement.
| Nom | Requis | Type | Valeur par défaut | Description |
|---|---|---|---|---|
event | true | "change" | Le nom de l'event. | |
callback | true | CallbackFunction | La fonction de rappel à déclencher lorsque l'event spécifié survient. |
type CallbackFunction = ({ type: string, data: unknown }) => void;
Destroy
sdkInstance.destroy()
Cette fonction sert à détruire le widget SDK créé.
Définitions de type
Type de données personnalisées
L'objet peut contenir jusqu'à 50 paires clé/valeur. Chaque clé peut contenir jusqu'à 100 caractères, tandis que chaque valeur peut contenir jusqu'à 2048 caractères, sous forme de chaînes de caractères, de nombres, de booléens ou de chaînes vides.
type CustomData = Record<string, string | number | boolean | null>;
Exemple :
customData = {
zip_code: 12345,
mls_id: 102931024,
listing_agent: "J. Smith",
};