JavaScript widget for funnel
We provide a javascript widget to allow your application to start simply the widget session and receive some events.
Integration
Put the HTML code in the <body>
part of your HTML page:
<script async src="https://widget.iswigo.com/agent.js"></script>
Usage
Initialization
window.iswigo('init', {});
The second parameter is options object.
Start funnel
To start user funnel, it's very simple. You need only the funnel session URL, and give this parameter like this:
window.iswigo('start', URL_OF_SESSION);
You can also close widget:
window.iswigo('close');
Events
Some events are available if you want catch user actions in the funnel with your website.
Usage
In options of widget initialization, example for widgetOpened
event:
window.iswigo(
'init',
{
...,
onWidgetOpened: (event) => {
console.log('Widget opened!', event.detail);
},
...
}
);
You can also listen events on document object, example for connectionSyncAsked
event:
document.addEventListener(
'iswigo.connection.sync.asked',
(event) => {
console.log('Connection synchronization asked', event.detail);
}
);
Event has detail stored in event.detail
property.
Events list
All events have an object whose describe the event, with minimum the user_id
property.
Detail is stored in event object and detail
property.
Providers
-
providersDisplayed: provider list displayed
{ "user_id": "...", "parent_provider_id": "..." }
-
providerSuggestionDisplayed: provider suggestion displayed
-
providerSuggestionDone: provider suggestion done
-
providerSuggestionError: provider suggestion error
Connection events
-
connectionSyncAsked: provider connection synchronization asked
{ "user_id": "...", "connection_id": "..." }
-
connectionSyncDone: provider connection synchronization done
{ "user_id": "...", "connection_id": "...", "status": "..." }
-
connectionCreationDisplayed: provider connection creation displayed
{ "user_id": "...", "provider_id": "..." }
-
connectionCreationError: provider connection creation error
{ "user_id": "...", "provider_id": "..." }
-
connectionCreationDone: provider connection creation done
{ "user_id": "...", "provider_id": "...", "connection_id": "..." }
-
connectionEditionDisplayed: provider connection edition displayed
{ "user_id": "...", "connection_id": "..." }
-
connectionEditionError: provider connection edition error
{ "user_id": "...", "connection_id": "..." }
-
connectionEditionDone: provider connection edition done
{ "user_id": "...", "connection_id": "..." }
-
connectionStepDisplayed: provider connection synchronization step displayed
{ "user_id": "...", "connection_id": "...", "step": "..." }
-
connectionStepError: provider connection synchronization step error
{ "user_id": "...", "connection_id": "...", "step": "..." }
-
connectionStepDone: provider connection synchronization step done
{ "user_id": "...", "connection_id": "...", "step": "..." }
Terms of service events
-
tosDisplayed: terms of service displayed
{ "user_id": "..." }
-
tosAccepted: terms of service accepted
{ "user_id": "..." }
-
tosError: terms of service validation error
{ "user_id": "..." }
Email validation events
-
emailDisplayed: email validation displayed
{ "user_id": "..." }
-
emailDone: email validation sent
{ "user_id": "...", "email": "..." }
-
emailError: email validation error
{ "user_id": "...", "email": "..." }
-
emailTokenDisplayed: email token displayed
{ "user_id": "...", "email": "..." }
-
emailTokenDone: email token done
{ "user_id": "...", "email": "..." }
-
emailTokenError: email token error
{ "user_id": "...", "email": "..." }
Session events
- sessionError: funnel session error
- sessionExpired: funnel session expired
- sessionInvalid: funnel session invalid
Widget events
- widgetOpen: widget will open
- widgetOpened: widget opened
- widgetClose: widget will close
- widgetClosed: widget closed
- widgetResized: widget resized