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