bitly api wrapper
npm install bitly-node-api
This API supported Bitly standard REST API that accepts/returns JSON requests. Here is the API reference
You can find examples of JavaScript and TypeScript. This will help you for faster implementation of Bitly APIs.
##### It does supports EcmaScript 5, EcmaScript 6, EcmaScript 8, TypeScript, async-await, Promises, Callback!!!
##### It does also supports for AWS Lambda like serverless cloud function call.
##### It supports pure JSON response.
##### All methods support Promise and Callback both.
##### Please Feel free to create issue for any help!
##### All developers/contributors are requested to open Pull Request/Merge Request on develop branch.
##### Please make sure Test Cases be passed.
Using the Bitly API wrapper for Node.js is really simple.
Given that you already have a Node.js project with NPM setup just follow these steps:
bash
npm install bitly-node-api --save
`Pull Request
- Contributors can send their Pull Request to develop branch.
- Kindly validate test cases & linting before opening new PR.Do you need an expert?
Are you finding a developer or team for your world-class enterprise product development? If yes, please send email to. Submit your project request here. Originally by Vijay Patoliya.Configuration Using JavaScript
Already you having access token then use below configuration
`bash
export BITLY_USER_TOKEN=ACCESS_TOKEN
``js
var bitly = require("bitly-node-api")("YOUR_ACCESS_TOKEN");
`If you don't have access token then get access token using below configuration and example
`js
var bitly = require("bitly-node-api");bitly.setApiKey(clientId, clientSecret);
var options = {
username: "Username",
password: "Password",
};
var response = bitly.application.getOAuthToken(options);
if (response && response.access_token) {
bitly.setUserToken(response.access_token);
}
`Configuration Using TypeScript
`js
import * as BitlyAPI from "bitly-node-api";
const bitly = new BitlyAPI();
bitly.setUserToken("YOUR_ACCESS_TOKEN");
`
`
Originally by osi.vijay@gmail.com : Vijay Patoliya.
`Examples
1. BITLINKS
2. BSDS
3. CAMPAIGNS
5. GROUPS
7. USER
8. WEBHOOKS
---
> ### BITLINKS
`js
/* Bulk update /
var group_guid = "string";var payload = {
action: "string",
archive: "boolean",
add_tags: ["array of string"],
remove_tags: ["array of string"],
links: ["array of string"],
};
try {
var response = await bitly.bitlinks.bulkUpdate(group_guid, payload);
} catch (error) {
return;
}
``js
/* Create /
var payload = {
long_url: "https://www.google.com",
};
try {
var response = await bitly.bitlinks.create(payload);
} catch (error) {
return;
}
``js
/* Create QR /var bitlink = "bitly.is/2rAZFZ1";
var payload = {
color: "string",
exclude_bitly_logo: "boolean",
image_format: "string",
logo_image_guid: "string",
};
try {
var response = await bitly.bitlinks.createQR(bitlink, payload);
} catch (error) {
return;
}
``js
/* Delete /var bitlink = "bitly.is/2rAZFZ1";
try {
var response = await bitly.bitlinks.delete(bitlink);
} catch (error) {
return;
}
``js
/* Expand /
var bitlink = "bitly.is/2rAZFZ1";
try {
var response = await bitly.bitlinks.expand(bitlink);
} catch (error) {
return;
}
``js
/* Get /var bitlink = "bitly.is/2rAZFZ1";
try {
var response = await bitly.bitlinks.get(bitlink);
} catch (error) {
return;
}
``js
/* Get by group /
var group_guid = "Bibh7CqXlyA";
var payload = {
size: "number",
page: "number",
keyword: "string",
query: "string",
created_before: "number",
created_after: "number",
modified_after: "number",
archived: "string",
deeplinks: "string",
domain_deeplinks: "string",
campaign_guid: "string",
channel_guid: "string",
custom_bitlink: "string",
tags: "array",
launchpad_ids: "array",
encoding_login: "array",
};
try {
var response = await bitly.bitlinks.getByGroup(group_guid, payload);
} catch (error) {
return;
}
``js
/* Get clicks /var bitlink = "bitly.is/2rAZFZ1";
var payload = {
units: "integer",
unit: "string",
unit_reference: "string",
};
try {
var response = await bitly.bitlinks.getClicks(bitlink, payload);
} catch (error) {
return;
}
``js
/* Get clicks summary /var bitlink = "bitly.is/2rAZFZ1";
var payload = {
units: "integer",
unit: "string",
unit_reference: "string",
};
try {
var response = await bitly.bitlinks.getClicksSummary(bitlink, payload);
} catch (error) {
return;
}
``js
/* Get metrics by city /var bitlink = "bitly.is/2rAZFZ1";
var payload = {
unit: "minute",
};
try {
var response = await bitly.bitlinks.getMetricsByCity(bitlink, payload);
} catch (error) {
return;
}
``js
/* Get metrics by country /var bitlink = "bitly.is/2rAZFZ1";
var payload = {
units: "number",
unit: "string",
size: "number",
unit_reference: "string",
};
try {
var response = await bitly.bitlinks.getMetricsByCountry(bitlink, payload);
} catch (error) {
return;
}
``js
/* Get Metrics by device type /var bitlink = "bitly.is/2rAZFZ1";
var payload = {
units: "number",
unit: "string",
size: "number",
unit_reference: "string",
};
try {
var response = await bitly.bitlinks.getMetricsByDeviceType(bitlink, payload);
} catch (error) {
return;
}
``js
/* Get metrics by referrers /var bitlink = "bitly.is/2rAZFZ1";
var payload = {
units: "number",
unit: "string",
size: "number",
unit_reference: "string",
};
try {
var response = await bitly.bitlinks.getMetricsByReferrers(bitlink, payload);
} catch (error) {
return;
}
``js
/* Get metrics by referrers domain /var bitlink = "bitly.is/2rAZFZ1";
var payload = {
units: "number",
unit: "string",
size: "number",
unit_reference: "string",
};
try {
var response = await bitly.bitlinks.getMetricsByReferrersDomain(
bitlink,
payload
);
} catch (error) {
return;
}
``js
/* Get metrics by referring domain /var bitlink = "bitly.is/2rAZFZ1";
var payload = {
units: "number",
unit: "string",
size: "number",
unit_reference: "string",
};
try {
var response = await bitly.bitlinks.getMetricsByReferringDomain(
bitlink,
payload
);
} catch (error) {
return;
}
``js
/* Get QR /var bitlink = "bitly.is/2rAZFZ1";
try {
var response = await bitly.bitlinks.getQR(bitlink);
} catch (error) {
return;
}
``js
/* List sorted by group /var group_guid = "Bibh7CqXlyA";
var sort = "clicks";
var payload = {
size: 10,
};
try {
var response = await bitly.bitlinks.listSortedByGroup(
group_guid,
sort,
payload
);
} catch (error) {
return;
}
``js
/* shorted link /var group_guid = "string";
var sort = "string";
var payload = {
unit: "string",
units: "number",
unit_reference: "string",
size: "number",
};
try {
var response = await bitly.bitlinks.shortedLink(group_guid, sort, payload);
} catch (error) {
return;
}
``js
/* Update /var bitlink = "bitly.is/2rAZFZ1";
var payload = {
references: {
/ any /
},
link: "string",
id: "string",
long_url: "string",
title: "string",
archived: "boolean",
created_at: "string",
created_by: "string",
client_id: "string",
custom_bitlinks: ["string"],
tags: ["string"],
launchpad_ids: ["string"],
deeplinks: [
{
guid: "string",
bitlink: "string",
app_uri_path: "string",
install_url: "string",
app_guid: "string",
os: "string",
install_type: "string",
created: "string",
modified: "string",
brand_guid: "string",
},
],
is_deleted: "boolean",
};
try {
var response = await bitly.bitlinks.update(bitlink, payload);
} catch (error) {
return;
}
``js
/* Update QR /var bitlink = "bitly.is/2rAZFZ1";
var payload = {
color: "string",
exclude_bitly_logo: "boolean",
image_format: "string",
logo_image_guid: "string",
};
try {
var response = await bitly.bitlinks.updateQR(bitlink, payload);
} catch (error) {
return;
}
`> ### BSDS
`js
/* Get group overrides /var group_guid = "string";
var payload = {
group_guid: ["array"],
created_after: "number",
limit: "number",
offset: "number",
bsd: ["array"],
};
try {
var response = await bitly.bsds.getGroupOverrides(group_guid, payload);
} catch (error) {
return;
}
``js
/* List /try {
var response = await bitly.bsds.list();
} catch (error) {
return;
}
`> ### CAMPAIGNS
`js
/* Create /
var payload = {
group_guid: "string",
name: "string",
description: "string",
channel_guids: ["array of string"],
};try {
var response = await bitly.campaigns.create(payload);
} catch (error) {
return;
}
``js
/* Create channel /
var payload = {
name: "string",
guid: "string",
creted: "string",
modified: "string",
group_guid: "string",
bitlinks: [
{
campaign_guid: "string",
bitlink_id: "string",
},
],
};try {
var response = await bitly.campaigns.createChannel(payload);
} catch (error) {
return;
}
``js
/* Get /try {
var response = await bitly.campaigns.get(campaign_guid);
} catch (error) {
return;
}
``js
/* Get channel /var channel_guid = "string";
try {
var response = await bitly.campaigns.getChannel(channel_guid);
} catch (error) {
return;
}
``js
/* List /
try {
var payload = {
group_guid: "string",
}; var response = await bitly.campaigns.list(payload);
} catch (error) {
return;
}
``js
/* List channels /
var payload = {
group_guid: "string",
campaign_guid: "string",
};
try {
var response = await bitly.campaigns.listChannels(payload);
} catch (error) {
return;
}
``js
/* Update /var campaign_guid = "string";
var payload = {
group_guid: "string",
name: "string",
description: "string",
channel_guids: ["array of string"],
};
try {
var response = await bitly.campaigns.update(campaign_guid, payload);
} catch (error) {
return;
}
``js
/* Update channel /var channel_guid = "string";
var payload = {
name: "string",
guid: "string",
creted: "string",
modified: "string",
group_guid: "string",
bitlinks: [
{
campaign_guid: "string",
bitlink_id: "string",
},
],
};
try {
var response = await bitly.campaigns.updateChannel(channel_guid, payload);
} catch (error) {
return;
}
`> ### CUSTOM BITLINKS
`js
/* Add /
var payload = {
custom_bitlink: "https://www.google.com",
bitlink_id: "string",
};
try {
var response = await bitly.customBitlinks.add(payload);
} catch (error) {
return;
}
``js
/* Get /var custom_bitlink = "string";
try {
var response = await bitly.customBitlinks.get(custom_bitlink);
} catch (error) {
return;
}
``js
/* Get click for entire history /var custom_bitlink = "string";
var payload = {
units: "integer",
unit: "string",
unit_reference: "string",
};
try {
var response = await bitly.customBitlinks.getClicksForEntireHistory(
custom_bitlink,
payload
);
} catch (error) {
return;
}
``js
/* Get metrics for custom destination /
var custom_bitlink = "string";
var payload = {
units: "integer",
unit: "string",
unit_reference: "string",
};try {
var response = await bitly.customBitlinks.getMetricsForCustomDestination(
custom_bitlink,
payload
);
} catch (error) {
return;
}
``js
/* Update /var custom_bitlink = "bitly.is/2rAZFZ1";
var payload = {
bitlink_id: "string",
};
try {
var response = await bitly.customBitlinks.update(custom_bitlink, payload);
} catch (error) {
return;
}
`> ### GROUPS
`js
/* Get /var group_guid = "string";
try {
var response = await bitly.groups.get(group_guid);
} catch (error) {
return;
}
``js
/* Get click metrics by city /var group_guid = "string";
var payload = {
unit: "string",
units: "number",
size: "number",
unit_reference: "string",
};
try {
var response = await bitly.groups.getClickMetricsByCity(group_guid, payload);
} catch (error) {
return;
}
``js
/* Get click metrics by country /var group_guid = "string";
var payload = {
unit: "string",
units: "number",
size: "number",
unit_reference: "string",
};
try {
var response = await bitly.groups.getClickMetricsByCountry(
group_guid,
payload
);
} catch (error) {
return;
}
``js
/* Get click metrics by device type /var group_guid = "string";
var payload = {
unit: "string",
units: "number",
size: "number",
unit_reference: "string",
};
try {
var response = await bitly.groups.getClickMetricsByDeviceType(
group_guid,
payload
);
} catch (error) {
return;
}
``js
/* Get click metrics by referring networks /var group_guid = "string";
try {
var response = await bitly.groups.getClickMetricsByReferringNetworks(
group_guid
);
} catch (error) {
return;
}
``js
/* Get clicks /var group_guid = "string";
try {
var response = await bitly.groups.getClicks(group_guid);
} catch (error) {
return;
}
``js
/* Get preferences /var group_guid = "string";
try {
var response = await bitly.groups.getPreferences(group_guid);
} catch (error) {
return;
}
``js
/* Get QR /var group_guid = "string";
try {
var response = await bitly.groups.getQR(group_guid);
} catch (error) {
return;
}
``js
/* Get shorten counts /var group_guid = "string";
var payload = {
unit: "string",
units: "number",
unit_reference: "string",
};
try {
var response = await bitly.groups.getShortenCounts(group_guid, payload);
} catch (error) {
return;
}
``js
/* Get list /
var payload = {
organization_guid: "string",
};
try {
var response = await bitly.groups.list(payload);
} catch (error) {
return;
}
``js
/* Get list tags /var group_guid = "string";
try {
var response = await bitly.groups.listTags(group_guid);
} catch (error) {
return;
}
``js
/* update /
var group_guid = "Bibh7CqXlyA";
var payload = {
name: "string",
organization_guid: "string",
bsds: ["string"],
};try {
var response = await bitly.groups.update(group_guid, payload);
} catch (error) {
return;
}
``js
/* Update preferences /var group_guid = "string";
var payload = {
group_guid: "string",
domain_preference: "bit.ly",
};
try {
var response = await bitly.groups.updatePreferences(group_guid, payload);
} catch (error) {
return;
}
`> ### ORGANIZATIONS
`js
/* Get /var organization_guid = "string";
try {
var response = await bitly.organizations.get(organization_guid);
} catch (error) {
return;
}
``js
/* Get plan limits /
var organization_guid = "string";
try {
var response = await bitly.organizations.getPlanLimits(organization_guid);
} catch (error) {
return;
}
``js
/* Get shorten Counts /var organization_guid = "string";
var payload = {
unit: "string",
units: "number",
unit_reference: "string",
};
try {
var response = await bitly.organizations.getShortenCounts(
organization_guid,
payload
);
} catch (error) {
return;
}
``js
/* List /
try {
var response = await bitly.organizations.list();
} catch (error) {
return;
}
`> ### USER
`js
/* Get /
try {
var response = await bitly.user.get();
} catch (error) {
return;
}
``js
/* Get platform limits /
var payload = {
path: "string",
};try {
var response = await bitly.user.getPlatformLimits(payload);
} catch (error) {
return;
}
``js
/* Update /var payload = {
name: "string",
default_group_guid: "string",
};
try {
var response = await bitly.user.update(payload);
} catch (error) {
return;
}
`> ### WEBHOOKS
`js
/* Create /var payload = {
organization_guid: "string",
name: "string",
event: "string",
url: "string",
is_active: "boolean",
group_guid: "string",
oauth_url: "string",
client_id: "string",
client_secret: "string",
fetch_tags: "boolean",
};
try {
var response = await bitly.webhooks.create(payload);
} catch (error) {
return;
}
``js
/* Delete /
var webhook_guid = "string";
try {
var response = await bitly.webhooks.delete(webhook_guid);
} catch (error) {
return;
}
``js
/* Get /
try {
var response = await bitly.webhooks.get(webhook_guid);
} catch (error) {
return;
}
``js
/* List /try {
var organigation_guid = "string";
var response = await bitly.webhooks.list(organigation_guid);
} catch (error) {
return;
}
``js
/* Update /var webhook_guid = "string";
var payload = {
guid: "string",
organization_guid: "string",
name: "string",
event: "string",
url: "string",
is_active: "boolean",
group_guid: "string",
oauth_url: "string",
client_id: "string",
client_secret: "string",
fetch_tags: "boolean",
};
try {
var response = await bitly.webhooks.update(webhook_guid, payload);
} catch (error) {
return;
}
``js
/* Verify /var webhook_guid = "string";
try {
var response = await bitly.webhooks.verify(webhook_guid);
} catch (error) {
return;
}
``