bitly-node-api
Version:
bitly api wrapper
1,091 lines (898 loc) • 17.8 kB
Markdown
# bitly-node-api (Bitly Node Rest API)
[](https://stackoverflow.com/search?q=nodejs-bitly-node-api)
This API supported Bitly standard REST API that accepts/returns JSON requests. Here is the [API reference](https://dev.bitly.com/v4_documentation.html)
You can find [examples of JavaScript and TypeScript](https://github.com/vijaypatoliya/bitly-node-api/tree/master/examples). 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.
## Get started
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:
## Installation
```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](mailto:osi.vijay .com). Originally by [Vijay Patoliya](https://github.com/vijaypatoliya).
## 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 .com : [Vijay Patoliya](https://github.com/vijaypatoliya).
```
## Examples
1. [BITLINKS](#bitlinks)
2. [BSDS](#bsds)
3. [CAMPAIGNS](#campaigns)
4. [CUSTOM BITLINKS](#custom-bitlinks)
5. [GROUPS](#groups)
6. [ORGANIZATIONS](#organizations)
7. [USER](#user)
8. [WEBHOOKS](#webhooks)
---
> ### [BITLINKS](#index)
```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](#index)
```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](#index)
```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](#index)
```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](#index)
```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](#index)
```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](#index)
```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](#index)
```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;
}
```