@beyable/sdk
v1.17.0
Published
Beyable Software Development Kit (SDK)
Downloads
23
Readme
💻 sdk
🧐 Description
This repository provides a powerful SDK which allows you to display campaign that you have created from the Beyable's backoffice.
You can have a look to the Beyable SDK documentation for more details
⚙️ Install
with yarn:
yarn add @beyable/sdk
🤔 How to use it?
🔓 Authentication
First, you have to create an instance of "Beyable" and set your token.
import { Beyable } from '@beyable/sdk';
const beyable = new Beyable({ token: 'xxxxxxxxxxxxxxxxx' });
export { beyable };
⭐ Send "PageView" event
To activate your campaign on a specific page, use sendPageView method with attributes corresponding of your page type.
import { EPageUrlType } from '@beyable/sdk';
import { beyable } from './libs/beyable.ts';
/**
* @description Sends homepage "PageView".
* @returns {Promise}
*/
const beyablePageView = () => {
beyable.page.setAttributes({
urlType: EPageUrlType.HOME,
homePage: {
tags: ['homepage', 'corporate'],
},
pageReferrer: document.referrer,
url: 'http://localhost',
});
return beyable.sendPageview();
};
// Fire your event on "onload" done
document.addEventListener('onload', beyablePageView);
⭐ Method "setAttributes()"
| Attribute | Type | actions | | --------------- | ------ | ------------------------------------------------------------------------------------- | | urlType | string | Specify the type of page | | pageReferer | string | Fill the referer | | url | string | Fill url of your web site |
⭐ Attribute "urlType“
| Key | Description | | ---------------------------- | ------------------------------------- | | EPageUrlType.HOME | Access to homePage attributes. | | EPageUrlType.CART | Access to cartPage attributes. | | EPageUrlType.CATEGORY | Access to categoryPage attributes. | | EPageUrlType.TRANSACTION | Access to transactionPage attributes. | | EPageUrlType.PRODUCT | Access to productPage attributes. |
⭐ Attribute "homePage"
Example of data you can send from your home page.
beyable.page.setAttributes({
urlType: EPageUrlType.HOME,
pageReferrer: document.referrer,
url: 'http://www.my-web-site.com',
homePage: {
tags: ['homepage', 'corporate'],
},
});
| Attribute | Type | Actions | | --------- | --------- | --------------------------------------- | | tags | string[ ] | Fill tags values to link trigger on it. |
⭐ Attribute "cartPage"
Example of data you can send from your cart page.
beyable.page.setAttributes({
urlType: EPageUrlType.CART,
pageReferrer: document.referrer,
url: 'https://my-web-site.com/cart',
cartPage: {
tags: ['cart'],
},
});
| Attributes | Type | Actions | | ---------- | -------- | --------------------------------------- | | tags | string[] | Fill tags values to link trigger on it. |
⭐ Attribute "categoryPage"
Example of data you can send from your category page.
beyable.page.setAttributes({
urlType: EPageUrlType.CATEGORY,
pageReferrer: document.referrer,
url: 'https://my-web-site.com/shoes/sport/running',
categoryPage: {
categoryId: 'SportShoes123',
categoryName: 'Running',
tags: ['running', 'shoes', 'sport'],
},
});
| Attributes | Type | Actions | | ---------------- | -------- | ------------------------------------------------------------------ | | categoryId | string | Fill categoryId value to link trigger on specific. category id | | categoryName | string | Fill categoryName value to link trigger on specific. category name | | tags | string[] | Fill tags values to link trigger on it. |
⭐ Attribute "transactionPage"
Example of data you can send from your transaction page.
beyable.page.setAttributes({
urlType: EPageUrlType.TRANSACTION,
pageReferrer: document.referrer,
url: 'https://my-web-site.com/transaction',
transactionPage: {
tags: ['transaction'],
},
});
| Attributes | Type | Actions | | ---------- | -------- | --------------------------------------- | | tags | string[] | Fill tags values to link trigger on it. |
⭐ Attribute "genericPage"
If you want to customize your own tagging strategy, you can choose the "genericPage" type rather than the predefined ones on each urlType interface.
beyable.page.setAttributes({
urlType: EPageUrlType.PRODUCT,
genericPage: {
customValue1: 'customValue1',
customValue2: 'customValue2',
customValue3: 'customValue3',
customValue4: 'customValue4',
customValue5: 'customValue5',
tags: ['tag1'],
},
pageReferrer: 'https://www.google.fr',
url: '',
});
⭐ Scripts
Run using yarn run <script>
command.
clean - Remove temporarily folders.
build - Compile source files.
build:watch - Interactive watch mode, compile sources on change.
lint - Lint source files.
lint:fix - Fix lint source files.
test - Runs all tests with coverage.
test:watch - Interactive watch mode, runs tests on change.
📝 License
MIT © Beyable