Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
pipedrive-fix
Advanced tools
Pipedrive is a sales pipeline software that gets you organized. It's a powerful sales CRM with effortless sales pipeline management. See www.pipedrive.com for details.
This is the official Pipedrive API wrapper-client for NodeJS based apps, distributed by Pipedrive Inc freely under the MIT licence. It provides you with basic functionality for operating with objects such as Deals, Persons, Organizations, Products and much more, without having to worry about the underlying networking stack and actual HTTPS requests.
npm install pipedrive
With a pre-set API token:
var Pipedrive = require('pipedrive');
var pipedrive = new Pipedrive.Client('YOUR_API_TOKEN_HERE', { strictMode: true });
Here's a quick example that will list some deals from your Pipedrive account:
var Pipedrive = require('pipedrive');
var pipedrive = new Pipedrive.Client('YOUR_API_TOKEN_HERE', { strictMode: true });
pipedrive.Deals.getAll({}, function(err, deals) {
if (err) throw err;
for (var i = 0; i < deals.length; i++) {
console.log(deals[i].title + ' (worth ' + deals[i].value + ' ' + deals[i].currency + ')');
}
});
Add an object. Returns error, data
to the callback where data contains the id
property of the newly created item.
Get specific object. Returns error, object, additionalData, rawRequest, rawResponse, relatedObjects
Update an object. Returns error
in case of an error to the callback.
Get all objects, optionally passing additional parameters (such as filter_id
in case of deals, persons and organizations). Returns error, objects
to the callback function where objects is a collection (array) of objects.
Delete an object with a specifc ID. Returns error
in case of an error to the callback.
Delete multiple objects using an array of IDs. Returns error
in case of an error to the callback.
Merge two objects of the same kind. Returns error
in case of an error to the callback. Merge is only supported for the following objects:
Find objects of certain kind by their name/title, using term
property supplied inside params object. Supported for:
Returns the value of [fieldName] of the object.
Sets a new value of [fieldName] of the object. Returns {object}.
Updates the state of the {object} in Pipedrive via the API. Returns {object}.
Deletes the {object} in Pipedrive via the API. Returns error
in case of an error to the callback.
Merges the {object} with another object of the same kind with the ID given as withId
. Returns error
in case of error to the callback. Merge is only supported for the following objects:
To add a product to a deal, simply invoke the addProduct
method on a deal object.
pipedrive.Deals.get(1, function(err, deal) {
if (err) throw err;
deal.addProduct({ product_id: 1, quantity: 5, item_price: 10, discount: 20 }, function(addErr, addData) {
if (addErr) throw addErr;
console.log('Product 1 was added to deal 1', addData);
});
})
To add multiple products with a single request, make the first argument of deal's addProduct
method (as shown above) an array, e.g. [{ product_id: 1, quantity: 5, discount: 0 }, { product_id: 1, quantity: 2, discount: 20 }]
. This will add two product rows to a deal — one with a quantity of 5 and with no discount, the latter will add a separate row for the same product but with a quantity of 2 and no discount.
pipedrive.Deals.get(deal_id, function(err, deal) {
if (err) throw err;
deal.getProducts(function(productsErr, attachedProducts) {
if (productsErr) throw productsErr;
attachedProducts.forEach(function(attachedProduct) {
deal.updateProduct({ id: attachedProduct.id, quantity: 5, discount: 20 }, function(updateErr, updateData) {
if (updateErr) throw updateErr;
console.log('Product was updated', updateData);
});
});
});
})
Updating multiple deal products in one request is not supported yet.
pipedrive.Deals.get(deal_id, function(err, deal) {
if (err) throw err;
deal.getProducts(function(productsErr, attachedProducts) {
if (productsErr) throw productsErr;
attachedProducts.forEach(function(attachedProduct) {
deal.deleteProduct({ id: attachedProduct.id }, function(removeErr, removeSuccess) {
if (!removeErr) console.log('Removed product ' + attachedProduct.product_id + ' from deal 1');
});
});
});
})
There is an additional method to perform the SearchResults/field
search. This can be used for field-value searches.
The following example searches for deals that match the condition where org_id=123
pipedrive.SearchResults.field({
term: "123",
exact_match: true,
field_key: "org_id",
field_type: "dealField",
return_item_ids: true
}), callback);
You can request all entries for an valid object using getAll(object, callback)
pipedrive.getAll('Organizatons', function (err, collection) {
// collection contains all Organizations
});
pipedrive.getAll('Persons', function (err, collection) {
// collection contains all Persons
});
var Pipedrive = require('pipedrive');
var pipedrive = new Pipedrive.Client('PUT_YOUR_API_TOKEN_HERE', { strictMode: true });
pipedrive.Filters.getAll({ type: 'deals' }, function(filtersListErr, filtersList) {
if (filtersList.length > 0) {
pipedrive.Deals.getAll({ filter_id: filtersList[0].get('id'), start: 0, limit: 15 }, function(dealsListErr, dealsList) {
dealsList.forEach(function(deal) {
console.log(deal.get('title') + ' (worth ' + deal.get('value') + ' ' + deal.get('currency') + ')');
});
})
}
});
The Pipedrive REST API documentation can be found at https://developers.pipedrive.com/v1
To run unit tests, execute npm run tests
This Pipedrive API client is distributed under the MIT licence.
TBD
[18.0.1] - 2022-12-15
FAQs
Pipedrive REST client for NodeJS
The npm package pipedrive-fix receives a total of 3 weekly downloads. As such, pipedrive-fix popularity was classified as not popular.
We found that pipedrive-fix 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
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.