1.4.0 • Published 11 months ago

@thxnetwork/sdk v1.4.0

Weekly downloads
-
License
-
Repository
github
Last release
11 months ago

THX Network JS SDK

This SDK contains API wrappers and an OIDC OAuth manager to simplify access to THX API resources.

Prerequisites

  1. Sign up for an account
  2. Create an API key (Account -> Developer -> API)
  3. Store your API key in a secure location

SDK Contents

1. THXWidget

Meant for loading the HTML widget in a website using JavaScript.

import { THXWidget, THXWidgetOptions } from '@thxnetwork/sdk';

const options: THXWidgetOptions = {
    campaignId: '6571c9c6b7d775decb45a8f0',
    containerSelector: '#your-html-container', // Optional
    identity: '36d33a59-5398-463a-ac98-0f7d9b201648', // Optional
};
THXWidget.create(options);

1.1 ContainerSelector

Providing a containerSelector is optional and will inject the application in a given HTML element. Make sure to provide CSS styles for proper dimensions within your page.

<div id="your-html-container" style="height: 750px;"></div>

No messagbox, launcher and notification elements will be injected if a container selector is specified!

1.2 Identity

Providing an identity is optional and alternatively you can set an identity at a later moment, for example after successful authentication with your app.

window.THXWidget.setIdentity('36d33a59-5398-463a-ac98-0f7d9b201648');

2. THXAPIClient

Meant for JavaScript backend applications.

import { THXAPIClient, THXAPIClientOptions } from '@thxnetwork/sdk';

const options: THXAPIClientOptions = {
    apiKey: 'WtMTSdvSuLaCL7YVYgn2OBT9Bp/WV6xxcosLiqj9CWo=',
};
const thx = new THXAPIClient(options);

2.1 Identities

Identities are used to connect THX accounts to users in your database.

const identity = await thx.identity.create();
// 36d33a59-5398-463a-ac98-0f7d9b201648

2.2 Events

Events can be used to add requirements for Daily, Invite and Custom Quests.

thx.events.create({ name: 'level_up', identity: '36d33a59-5398-463a-ac98-0f7d9b201648' });

2.3 Quests

Quests can be managed programatically. Specify content and contentMetadata according to the requirements in order to generate proper card previews.

Twitter Post Previews

Use this content and contentMetadata for these interaction variants: QuestRequirement.TwitterRetweet.

const interaction = QuestRequirement.TwitteRetweet;
const content = '46927555';
const contentMetadata = {
    url: 'https://twitter.com/twitter/status/1603121182101970945',
    username: 'johndoe',
    name: 'John Doe',
    text: '✨ Loyalty Networks are here✨ #fintech meets #loyalty',
    minAmountFollowers: 123,
};

Twitter User Previews

Use this content and contentMetadata for these interaction variants: QuestRequirement.TwitterFollow.

const interaction = QuestRequirement.TwitterFollow;
const content = '13241234';
const contentMetadata = {
    id: 46927555,
    name: 'John doe',
    profileImgUrl: 'https://picsum.com/avatar.jpg',
    username: 'johndoe',
    minAmountFollowers: 123,
};

Twitter Message Preview

Use this content and contentMetadata for these interaction variants: QuestRequirement.TwitterMessage,

const interaction = QuestRequirement.TwitterMessage;
const content = '✨ Loyalty Networks are here✨ #fintech meets #loyalty';
const contentMetadata = {
    minFollowersCount: 123,
};

Create Twitter Quest

thx.campaigns.quests.create({
    variant: QuestVariant.Twitter,
    title: 'Farm along!',
    description: 'Get these pointzz...',
    amount: 123,
    isPublished: true,
    interaction,
    content,
    contentMetadata,
});
1.4.0

11 months ago

1.3.6

1 year ago

1.3.5

1 year ago

1.3.4

1 year ago

1.3.3

1 year ago

1.3.2

1 year ago

1.3.1

1 year ago

1.3.0

1 year ago

1.2.16

1 year ago

1.2.15

1 year ago

1.2.14

1 year ago

1.2.13

2 years ago

1.2.12

2 years ago

1.2.11

2 years ago

1.2.10

2 years ago

1.2.8

2 years ago

1.2.7

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.9

2 years ago

1.2.0

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.1.22

2 years ago

1.1.12

2 years ago

1.1.16

2 years ago

1.1.15

2 years ago

1.1.14

2 years ago

1.1.13

2 years ago

1.1.19

2 years ago

1.1.18

2 years ago

1.1.17

2 years ago

1.1.21

2 years ago

1.1.20

2 years ago

1.1.11

2 years ago

1.1.10

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.1

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.0

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.13

2 years ago

1.0.12

3 years ago

1.0.2

3 years ago

0.0.1

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago