@basetime/a2w-api-ts
v0.1.39
Published
Client library that communicates with the addtowallet API.
Downloads
241
Readme
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);