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.
npm install giftbit
var giftbitAPI = require('giftbit');
var giftbit = new giftbitAPI({
token: '[your giftbit auth token]',
env: 'test' // or 'prod'
});
giftbit.regions(function(regions) {
// ...
});
giftbit.vendors(function(vendors) {
// ...
});
giftbit.categories(function(categories) {
// ...
});
giftbit.getById(12345, function(response) {
// ...
});
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) {
// ...
});
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) {
// ...
});
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' ]
*/
}
});
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' ]
*/
});