gitftbit

gitftbit

Usage no npm install needed!

<script type="module">
  import gitftbit from 'https://cdn.skypack.dev/gitftbit';
</script>

README

giftbit api

This is a partial implementation of giftbit's API.

You can browse the marketplace, search for gift cards, and order shortlinks. Emails are not supported at this time.

Forks and pull requests are welcome.

Install

npm install giftbit

Doc

var giftbitAPI = require('giftbit');
var giftbit = new giftbitAPI({
    token:	'[your giftbit auth token]',
    env:	'test' // or 'prod'
});

Getting the list of regions

giftbit.regions(function(regions) {
    // ...
});

Getting the list of vendors

giftbit.vendors(function(vendors) {
    // ...
});

Getting the list of categories

giftbit.categories(function(categories) {
    // ...
});

Getting a gift card by ID

giftbit.getById(12345, function(response) {
    // ...
});

Search for gift cards using parameters

Look at the official doc (included in /doc) for the parameters accepted by the /marketplace endpoint.

giftbit.search({
    region:		2	// Only the USA
}, function(response) {
    // ...
});

Generate short links

giftbit.createCampaign({
    gifts: [{id:1,value:20}],	// Gift card #1, with a value of $20
    expires: new Date(new Date().getTime()+(1000*60*60*24*7)),	// Expires in 1 week
    count: 5	// generate 5 gift card shortlinks
}, function(campaignId) {
    // ...
});

Check the status of a short links

The short links take some time to be created. You need to check their status until it returns the links.

giftbit.createCampaign({
    gifts: [{id:1,value:20}],	// Gift card #1, with a value of $20
    expires: new Date(new Date().getTime()+(1000*60*60*24*7)),	// Expires in 1 week
    count: 5,	// generate 5 gift card shortlinks
    template: 'WZUMN'	// ID of the template ot use. Create the template on giftbit's site, copy ID from there.
}, function(response) {
    if (response.inprogress) {
        // Link creation in progress.. Check again later.
    } else {
        // response is an array of links
        /*
        [ 'http://gtbt.co/FMM7AeqKh9Q',
          'http://gtbt.co/3Us3M6maBK9',
          'http://gtbt.co/Cb3E7fAJPxY',
          'http://gtbt.co/gdMkNhTk9Tg',
          'http://gtbt.co/cQSAD74Acsc' ]
        */
    }
});

Generate and obtain links without checking at an interval

Use the same options as createCampaign(), but will only execute the callback once the links are ready. It will take care of checking at an interval, so you don't have to create the logic.

giftbit.getLinks({
    gifts: [{id:1,value:20}],	// Gift card #1, with a value of $20
    expires: new Date(new Date().getTime()+(1000*60*60*24*7)),	// Expires in 1 week
    count: 5,	// generate 5 gift card shortlinks
    template: 'WZUMN'	// ID of the template ot use. Create the template on giftbit's site, copy ID from there.
}, function(links) {
    /*
    [ 'http://gtbt.co/FMM7AeqKh9Q',
      'http://gtbt.co/3Us3M6maBK9',
      'http://gtbt.co/Cb3E7fAJPxY',
      'http://gtbt.co/gdMkNhTk9Tg',
      'http://gtbt.co/cQSAD74Acsc' ]
    */
});