1. Register @ fortvision and receive publisher Id and secret. Request developer's access via support
2. Installation
2.1. client side. Client side script come to your application automatically with Fortvision counter. After that you can use code from examples
2.2. Server- side. Node.js
Fortvision UI & Node.js clients can be downloaded from here:
https://www.npmjs.com/package/fortvisionsdk

To use via Node.js:

import fortvision from 'fortvisionsdk'
const {mainClassGenerator} = fortvision

const fvrunner = new mainClassGenerator({publisherID:'your Publisher Id', secret:'yoursecret'})

After that you can use  examples, don't forget to changer window.fvrunner to just fvrunner.
3. API access, via curl or any platform.
Example:
curl 'https://developers.admin-36a.workers.dev/fetcher' \
  -H 'content-type: application/json' \
  -H 'x-fortvision-secret: SECRET' \
  --data-raw '{"kind":"register","body":{"email":"we@ewd.com","UserInfo":{"userId":"c1ed3fb8-90b1-4eef-bc52-b544ce746cbb","publisherId":"21517"}}}' \
  --compressed
For data-raw you should use the same body from examples 4. Examples
Demo event 1:
Register:

(email)=>{
      window.fvrunner.pushEvent("register", { email });
    }

Demo event 2:
Register extended:

(email, firstName, lastName, phone)=>{
      window.fvrunner.pushEvent("register", { email, firstName, lastName, phone });
    }

Demo event 3:
Login:

(email)=>{
      window.fvrunner.pushEvent("login", { email });
    }

Demo event 4:
Add to cart:

(volume)=>{
      window.fvrunner.pushEvent("addtocart", {
        cart: {
          products: [
            {
              name: "PRODUCT",
              customerProductId: 2323,
              discountedValue: 122.2,
              discountValue: 0,
              volume
            }
          ]
        }
      });
    }

Demo event 5:
Remove line from cart:

(volume)=>{
      window.fvrunner.pushEvent("removeCart", {
        product: {
          name: "PRODUCT",
          customerProductId: 2323,
          discountedValue: 122.2,
          discountValue: 0,
          volume
        },
        cart: {
          products: [
            {
              name: "PRODUCT",
              customerProductId: 23123,
              discountedValue: 122.2,
              discountValue: 0,
              volume
            }
          ]
        }
      });
    }

Demo event 6:
Update cart:
change amount or additional discount


      window.fvrunner.pushEvent("updateCart", {
        cart: {
          products: [
            {
              name: "PRODUCT",
              customerProductId: 2323,
              discountedValue: 122.2,
              discountValue: 0,
              volume: 23
            }
          ]
        }
      });
    

Demo event 7:
Checkout:

(customerCheckoutId, customerCheckoutStatus, volume)=>{
      window.fvrunner.pushEvent("createOrder", {
        cart: {
          products: [
            {
              name: "PRODUCT",
              customerProductId: 2323,
              discountedValue: 122.2,
              discountValue: 0,
              volume
            }
          ]
        },
        customerCheckoutId,
        customerCheckoutStatus
      });
    }

Demo event 8:
Update order (paid, confirmed, rejected, etc):

(volume, customerCheckoutId, customerCheckoutStatus)=>{
      window.fvrunner.pushEvent("updateOrder", {
        cart: {
          products: [
            {
              name: "PRODUCT",
              customerProductId: 2323,
              discountedValue: 122.2,
              discountValue: 0,
              volume
            }
          ]
        },
        customerCheckoutId,
        customerCheckoutStatus
      });
    }

Demo event 9:
Update user info:

(email, firstName, lastName, phone)=>{
      window.fvrunner.pushEvent(
        "updateUserDetails",
        {
          email,
          firstName,
          lastName,
          phone,
          isLoggedIn: "true",
          isSubscribed: "true"
        }
      );
    }

Demo event 10:
Update user info extended:

(email, firstName, lastName, phone, isSubscribed)=>{
      window.fvrunner.pushEvent(
        "updateUserDetails",
        {
          email,
          firstName,
          lastName,
          phone,
          isLoggedIn: "true",
          isSubscribed
        }
      );
    }

Demo event 11:
Update product:

(id, name, discountedValue)=>{
      window.fvrunner.pushEvent("updateProduct", {
        products: [
          {
            name,
            id,
            discountedValue,
            discountValue: 0,
            volume: 23
          }
        ]
      });
    }