0.3.8 • Published 2 days ago

@bloomscorp/bloomsight.js v0.3.8

Weekly downloads
-
License
MIT
Repository
github
Last release
2 days ago

bloomsight.js

A client side javascript library to work with bloomsight.io

Badges

 License

Installation

Install using npm by running

npm install @bloomscorp/bloomsight.js

OR

Use our CDN url without installation. Make sure to change <VERSION> with appropriate release version of the library

https://cdn.jsdelivr.net/gh/bloomscorp/bloomsight.js@<VERSION>/umd/production.js

Usage/Examples

Configuration

Use the init method to configure the library.

For ESModule projects

import {init} from '@bloomscorp/bloomsight.js';

init({
	propertyToken: '65d72f0b5e990c6028790156',
	isDevelopmentMode: true,
	...
});

For CommonJS projects

const {init} = require('@bloomscorp/bloomsight.js');

init({
	propertyToken: '65d72f0b5e990c6028790156',
	isDevelopmentMode: true,
	...
});

For CDN

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
</head>

<body>


<script src="https://cdn.jsdelivr.net/gh/bloomscorp/bloomsight.js@<VERSION>/umd/production.js"></script>
<script>
	init({
		propertyToken: '65d72f0b5e990c6028790156',
		isDevelopmentMode: true,
		...
	});
</script>
<script src="./app.js"></script>
</body>

</html>

Below is the table with all the possible options that can be configured.

OptionTypeDescriptionMandatoryDefault
propertyTokenstringbloomsight.io property tokenNA
isDevelopmentModebooleanif true, then logs data in the browser consoleNA
observePageViaWebAPIbooleanif true, will detect page view event based on web APIs. However, if false, pageViewObserver should be used to trigger page view eventtrue
stopSimpleEventbooleanstops only simple event trackingfalse
stopDataEventbooleanstops only data event trackingfalse
stopPageViewEventbooleanstops only page view event trackingfalse
stopAllbooleanstops all event trackingfalse
logOnlybooleantracks event but doesn't save to database. Should be used only when isDevelopmentMode: truefalse

Simple Event

Use the resolveSimpleEvent method to log simple events

import {resolveSimpleEvent} from '@bloomscorp/bloomsight.js';

resolveSimpleEvent(
	'65d735b122354c8ba6a489c2',
	'Contact Us CTA button'
);
OptionTypeDescriptionMandatoryDefault
eventTokenstringId of simple eventNA
labelstringa label/name for the event for future reference''

Data Event

Use the resolveDataEvent method to log data events

import {resolveDataEvent} from '@bloomscorp/bloomsight.js';

resolveDataEvent(
	'66d735b122355c8ba6a456f8',
	{
		productId: 120,
		sku: 'PROD021298'
	},
	'Add to Wishlist CTA button'
);
OptionTypeDescriptionMandatoryDefault
eventTokenstringId of data eventNA
eventDataObjectadditional metadata in key, value formatNA
labelstringa label/name for the event for future reference''

Page View Event

By default, page view events are tracked automatically via web APIs. This approach is recommended mostly for vanilla projects where a load event is trigged once a new page is loaded.

However, frameworks like Angular, React etc doesn't work that way. So, it is recommended to pass observePageViaWebAPI as false and use pageViewObserver to trigger page view events.

P.S: It is recommened to use appropriate library as per your framework from here

Here is an example in Angular,

import {pageViewObserver} from '@bloomscorp/bloomsight.js';

export class AppComponent implements OnInit {

	constructor(
		private router: Router
	) {
	}

	ngOnInit() {
		this.router.events.subscribe(event => {
			if (event instanceof NavigationEnd) {
				pageViewObserver();
			}
		})
	}
}

Send Email

Use sendEmail method to send email

import {sendEmail} from '@bloomscorp/bloomsight.js';

let formData = new FormData();
formData.append('name', 'John');
formData.append('email', 'john.doe@gmail.com');

sendEmail(
	'66d735b122355c8ba6a456f8',
	'63d735h822355s6ba6a4556k',
	'61d895h922355b6ba6a4587a',
	formData,
	() => alert('email sent successfully!'),
	() => alert('unable to send email! Try again later.')
)
OptionTypeDescriptionMandatoryDefault
engineIdstringId of the engine that will be used to send emailNA
templateIdstringId of the email template that will be used as email bodyNA
templateOwnerIdstringId of the user who has created the templateNA
emailMetaDataFormDataattachment & variables used in the template & their respective values in key, value formatNA
onSuccess() => voidcallback for operation success eventNA
onError() => voidcallback for operation error eventNA

License

MIT

Support

Report issues or feature requests here

0.3.8

2 days ago

0.3.6

5 days ago

0.3.7

5 days ago

0.3.5

16 days ago

0.3.4

17 days ago

0.3.2

22 days ago

0.3.3

22 days ago

0.3.1

29 days ago

0.3.0

1 month ago

0.2.0

2 months ago

0.1.4

2 months ago

0.1.3

2 months ago

0.1.2

2 months ago

0.1.1

2 months ago

0.1.0

2 months ago