
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
karmacracy-javascript-api
Advanced tools
A Javascript wrapper for Karmacracy API. You can check the official documentation
If you want to try the tool, here you are an invitation
You can use it in client-side and also in server-side
You can add it as bower dependency:
bower install --save karmacracy-javascript-api
You can install it using npm:
npm install --save karmacracy-javascript-api
Before start to develop an app or web using Karmacracy you need an API_key.
var kcy = new Karmacracy(API_key, 'es');
You need to add the dependence in the pacjage.json. Check the NPM module page
"dependences": {
"karmacracy-javascript-api": "*"
}
And you can use it as module:
var karmacracy = require('karmacracy-javascript-api');
var kcy = new karmacracy(API_key, 'es');
The first thing the user of your app will need to give you the userName and userKey (The user can find it in Preferences > Conexions at karmacracy).
kcy.setUserName('userName');
kcy.setUserKey('userKey');
If you want to do this in one simple line
kcy.setUser('userName', 'userKey');
You can change the lang of the response using this function. The response of following request will be in the new language
kcy.setLang('es');
You can change the userName for the request. Remember that you have to change the userKey too.
kcy.setUserName('jorgecasar');
You can change the userKey for the request. Remember that you have to change the userName too.
kcy.setUserKey('ia7odp8fvdof');
This is a shortcut to change UserName and UserKey at once. You need give the parameters userName and userKey.
kcy.setUser('jorgecasar', 'ia7odp8fvdof');
You can recover the key asking for the user's name and password.
kcy.getKey({
u: 'jorgecasar',
p: 'jorgecasarPassword'
}, callback);
The callback follow the nodeJS convention reserving the first parameter of the callback for an optional error object. If all went well you receive an object like this as second parameter:
{error: 0, key: 'userKey'}
You can regenerate the userKey of the user asking for the user's name and password.
kcy.getNewKey({
u: 'jorgecasar',
p: 'jorgecasarPassword'
}, callback);
The callback follow the nodeJS convention reserving the first parameter of the callback for an optional error object. If all went well you receive an object like this as second parameter:
{error: 0, key: 'userNewKey'}
Allows to know whether the user and the key (third key) entered by the user are valids.
kcy.checkKey({
k: 'userKey'
}, callback);
The callback follow the nodeJS convention reserving the first parameter of the callback for an optional error object. If all went well you receive an object like this as second parameter: {ok: 1}
In the other case, if it's not correct: {ok: 0}
Return user details and a list of his kcys.
kcy.getUserInfo(callback);
kcy.getUserInfo({u: 'jorgecasar'}, callback);
If the user does't exist you get an error 404. In the other case you get an object with the user info as second parameter:
{
"username": "jorgecasar",
"kcyrank": "40",
"img": "http://gravatar.com/avatar/b374f3bd05b1db4a974585ba57661815/?s=85",
"level": "3",
"date_signed": "2012-10-28 17:20:32",
"stats": [],
"kcys": []
}
Return an array with all user's nuts
kcy.getNuts(callback);
kcy.getNuts({u: 'jorgecasar'}, callback);
If all was right you get an array like this as second parameter:
[{
"id": "140",
"name": "Creator 10",
"imageSmall": "http://karmacracy.com/img-nuts/0b4beab1b0b6b273ae0ca0818b1b0d1a833edf38.png",
"imageBig": "http://karmacracy.com/img-nuts/3d1c89f69382216508cdeb2a685a85336cd9d651.png",
"level": "1",
"dateReceivedOrLast": "2013-06-24",
"number": "1"
},{
…
}]
Return detailed information and URLs of the nut (achievement) of the user.
kcy.getNut({
n: '140'
}, callback);
kcy.getNut({
u: 'jorgecasar',
n: '140'
}, callback);
If all was right you get an object like this as second parameter:
{
"id": "140",
"name": "Creator 10",
"dateSince": "2012-09-03",
"history": "This nut was proposed by <a href=\"/kcy\">kcy</a>. It was created on 03 sep 2012.",
"imageSmall": "http://karmacracy.com/img-nuts/0b4beab1b0b6b273ae0ca0818b1b0d1a833edf38.png",
"imageBig": "http://karmacracy.com/img-nuts/3d1c89f69382216508cdeb2a685a85336cd9d651.png",
"description": "Life is a game and so is Karmacracy. We want you to keep having fun with us so we give you this Nut because you have shared 10 new kcys (new links in Karmacracy). Use this Cinexin to rekindle the moment.",
"flg_type": "H",
"level": "1",
"nrKcys": "0",
"nrMyKcys": "0",
"nrHumans": "2707",
"humans": [{…}]
}
This method return an array with all user's networks
kcy.getNetworks(callback);
kcy.getNetworks({ u: 'jorgecasar' }, callback);
If all was right you get an array like this as second parameter:
[{
"connectid": "connectID",
"hidden": "0",
"name": "Jorge del Casar",
"type": "FB"
},{
…
}}
Return an array with all Facebook Pages that the user is admin.
kcy.getFacebookPages(callback);
If all was right you get an array like this as second parameter:
[{
"access_token": "ACCESS_TOKEN",
"id": "FACEBOOK_PAGE_ID",
"name": "Jorge del Casar - Desarrollo Frontend"
},{
…
}]
Returns the list of user's domains ranking ordered by the user within the domain.
kcy.getDomains(callback);
kcy.getDomains({u:'jorgecasar'}, callback);
If all was right you get an array like this as second parameter:
[{
"clicks": "246",
"domain": "developer.blackberry.com",
"numPersonas": "5",
"rank": "1"
},{
…
}]
Allows you to view, search and explore all kcys in Karmacracy.com.
kcy.getKcys(callback);
kcy.getKcys({u:'jorgecasar'}, callback);
If all was right you get an array like this as second parameter:
[{
"id": "qt36",
"url": "http://www.eldiario.es/turing/Socializando-enlaces-contenidos-Karmacracy_0_169383125.html",
"title": "Socializando enlaces y contenidos con Karmacracy",
"description": " Entrevistamos a Álex Dolara, fundador de Karmacracy, una startup española, dedicada a compartir contenidos y acortar enlaces con una capa social.",
"imgUser": "http://karmacracy.com/img/kcylocke.png",
"image": "http://images.eldiario.es/turing/Alex-Dolara_EDIIMA20130828_0074_6.jpg",
"time": "2013-08-29 07:32:21",
"user": "agileando",
"clicks": "205",
"weight": "205",
"people": […]
},{
…
}]
Get a kcy detailed information, statistics and human trafficking that have shared.
kcy.getKcys({kcy:'qt36'}, callback);
If all was right you get an object like this as second parameter:
{
"shorturl": "qt36",
"url": "http://www.eldiario.es/turing/Socializando-enlaces-contenidos-Karmacracy_0_169383125.html",
"date": "2013-08-29 07:32:21",
"kcyedhumans": {…},
"kclicks": null,
"mykclicks": "17",
"mykcytype": "2",
"traffic": {…}
}
View and explore the global and instantaneous kcyrank.
kcy.getRank(callback);
// Get the instantaneous rank from position 40th.
kcy.getRank({
now:1,
from:40
}, callback);
If all was right you get an array like this as second parameter:
[{
"username": "elandroidelibre",
"kcyrank": "1",
"img": "http://karmacracy.com/img-users/114.jpg",
"totalawards": "9384"
},{
…
}]
Returns the statistics of the evolution of a user in the last 30 days.
kcy.getStatsEvolution(callback);
If all was right you get an object like this as second parameter:
{
"links_evolution": {…},
"koi_evolution": {…},
"rank_evolution": {…},
"clicks_evolution": {…},
"virgin_vs_burned": {
"virgin": "128",
"total": "154",
"burned": 26
},
"kclicks": "4357.64",
"kcys": "118"
}
Returns the statistics of the relevance of a user in the last 30 days (default), 7 days or 24 hours.
kcy.getStatsRelevance(callback);
If all was right you get an object like this as second parameter:
{
"hours": {…},
"kclicks": "4357.64",
"kcys": "118",
"koi": 36.929152542373,
"social": {…},
"week": {…}
}
You can short a link using kcy.me, the Karmacracy.com shortener.
kcy.shortLink({url: 'http://karmacracy.com'}, callback);
If all was right you get an object like this as second parameter:
{
"long_url": "http://karmacracy.com",
"url": "http://kcy.me/nlr8",
"hash": null,
"global_hash": null,
"new_hash": 0
}
Share a kcy through user networks. Before use it you have to short it and get the user's networks.
kcy.shareKcy({
txt: 'Text to send to the social network of choice.',
kcy: 'nlr8',
// Network identifier, composed as follows:
// RR_IDCONNECT, being 'RR' property 'type' network, and being IDCONNECT property 'connectid'.
where: 'RR_IDCONNECT'
}, callback);
If all was right you get an object like this as second parameter:
{"result": "0"}
Gets the list of the firewords on the Karmacracy portal:
kcy.getFirewords({
num: '30' //number of firewords to get
},
callback);
If all was right you get an object like this as second parameter:
"word": [
[
"celebro",
"10",
"1",
"10.0000"
],
]
FAQs
A Javascript wrapper for Karmacracy API.
We found that karmacracy-javascript-api demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.