Skip to content

basetime/a2w-api-ts

Repository files navigation

AddToWallet Typescript Client

Client library that communicates with the addtowallet API.

Installing

npm i @basetime/a2w-api-ts
# or
yarn add @basetime/a2w-api-ts
# or
pnpm add @basetime/a2w-api-ts

Deveoping

Run the watch command while writing code.

pnpm watch

Building

Run the build command to build the code.

pnpm build

Examples

Creating a new client with keys

import { Client, KeysProvider } from '@basetime/a2w-api-ts';

const auth = new KeysProvider('api_key', 'api_secret');
const client = new Client(auth);

Creating a new client with oauth

import { Client, OAuthProvider } from '@basetime/a2w-api-ts';

const appId = 'a2w-inspector';
const oauth = new OAuthProvider('a2w-inspector');
const client = new Client(oauth);

Fetching a template by ID

const template = await client.templates.getById('id');
console.log(template);

Fetching templates by tag

const templates = await client.templates.getByTag('tag');
console.log(templates);

Fetching a pass

const campaignId = 'h8X2JxgrnEsu2U0dI8KN';
const passId = '7gXYr76u3Maaf9ugAdWk';
const pass = await client.campaigns.getPass(campaignId, passId);
console.log(pass);

Creating a pass bundle

const campaignId = 'h8X2JxgrnEsu2U0dI8KN';

// See the meta value docs for more info.
// @see https://avagate.atlassian.net/wiki/spaces/Addto/pages/102891521/Campaigns#Meta-values
const meta = {
  bundle: '9YpI7B8G0dnvRBC1R1a2,9YpI7B8G0dnvRBC1R1a2',
  banner: 'https://example.com/banner.png',
  backgroundColor: '#ae00ff',
};

// Form values to assign to the pass bundle. Typically, a primary key is set.
const form = {
  primaryKey: '1234567890',
};

const url = await client.campaigns.createBundle(campaignId, meta, form);
console.log(url);

Fetching the authenticated organization

const organization = await client.organizations.getMine();
console.log(organization);

Fetching all campaigns

Fetches the campaigns for the authenticated organization.

const campaigns = await client.campaigns.getAll();
console.log(campaigns);

Fetching all templates

Fetches the templates for the authenticated organization.

const templates = await client.templates.getAll();
console.log(templates);

Updating a pass

Updates the data inside of a pass. This will also have a2w send the updated pass to the wallets that contain it. Only the following values can be updated:

  • templateId
  • templateVersion
  • data
  • passTypeIdentifier
const campaignId = 'h8X2JxgrnEsu2U0dI8KN';
const passId = '7gXYr76u3Maaf9ugAdWk';

// Each value is optional.
const updatedPass = await client.campaigns.updatePass(campaignId, passId, {
  templateId: '123123123',
  templateVersion: 2,
  data: {
    points: '42',
  },
});
console.log(updatedPass);

About

Typescript client library for the a2w api.

Resources

License

Stars

Watchers

Forks

Packages

No packages published