Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
The Enrich API NodeJS wrapper. Enrich, Search and Verify data from your NodeJS services.
Copyright 2017 Crisp IM SAS. See LICENSE for copying information.
Install the library:
npm install enrich-api --save
Then, import it:
var Enrich = require("enrich-api").Enrich;
Construct a new authenticated Enrich client with your user_id
and secret_key
tokens.
var client = new Enrich("ui_xxxxxx", "sk_xxxxxx");
Then, consume the client eg. to enrich an email address:
client.Enrich.Person({
email : "valerian@crisp.chat"
})
.then(function(data) {
console.info("Enriched email:", data);
})
.catch(function(error) {
console.error("Failed enriching email:", error);
});
This library uses Promise for asynchronous response handling. If your NodeJS version is recent enough and has support for native promises, then the library will use native promises. Otherwise, it will fallback on a non-native implementation of promises.
To authenticate against the API, get your tokens (user_id
and secret_key
).
Then, pass those tokens once when you instanciate the Enrich client as following:
// Make sure to replace 'user_id' and 'secret_key' with your tokens
var client = new Enrich("user_id", "secret_key");
When Enrich doesn't know about a given data point, eg. an email that was never enriched before, it launches a discovery. Discoveries can take a few seconds, and sometimes more than 10 seconds.
This library implements a retry logic with a timeout if the discovery takes too long, or if the item wasn't found.
Thus, you can expect some requests, especially the Enrich requests, to take more time than expected. This is normal, and is not a performance issue on your side, or on our side. Under the hood, when you request a data point (eg. enrich a person given an email) that doesn't yet exist in our databases, the Enrich API returns the HTTP response 201 Created
. Then, this library will poll the enrich resource for results, with intervals of a few seconds. The API will return 404 Not Found
as the discovery is still processing and no result is yet known at this point. Once a result is found, the API will reply with 200 OK
and return discovered data. If the discovery fails and no data can be aggregated for this email, the library aborts the retry after some time (less than 20 seconds), and returns a not_found
error.
If a requested data point is already known by the Enrich API, it will be immediately returned, which won't induce any delay.
This library implements all methods the Enrich API provides. See the API docs for a reference of available methods, as well as how returned data is formatted.
client.Verify.ValidateEmail(query)
client.Verify.ValidateEmail({
email : "valerian@crisp.chat"
});
client.Enrich.Person(query)
client.Enrich.Person({
email : "valerian@crisp.chat"
});
client.Enrich.Company(query)
client.Enrich.Company({
domain : "crisp.chat"
});
client.Enrich.Network(query)
client.Enrich.Network({
ip : "178.62.89.169"
});
FAQs
Enrich API Node.
We found that enrich-api demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.