A Node.js client for Constructor.io. Constructor.io provides search as a service that optimizes results using artificial intelligence (including natural language processing, re-ranking to optimize for conversions, and user personalization).
This client is intended for use in server side integrations. If you want a JavaScript client for client side (i.e. front end) integrations please use @constructor-io/constructorio-client-javascript
Full API documentation is available on Github Pages
Updating from v3 to v4? Be sure to read the upgrade guide for an explanation of changes made to the Catalog module
Requesting results from your Node.js back-end can be useful in order to control result rendering logic on your server, or augment/hydrate results with data from another system. However, a back-end integration has additional requirements compared to a front-end integration. Please review the Additional Information For Backend Integrations article within the wiki for more detail.
This package can be installed via npm: npm i @constructor-io/constructorio-node
. Once installed, simply import or require the package into your repository.
Important: this library should only be used in a server-side context.
You can find this in your Constructor.io dashboard. Contact sales if you'd like to sign up, or support if you believe your company already has an account.
Once imported, an instance of the client can be created as follows:
const ConstructorIOClient = require('@constructor-io/constructorio-node');
var constructorio = new ConstructorIOClient({
apiKey: 'YOUR API KEY',
});
After instantiating an instance of the client, four modules will be exposed as properties to help retrieve data from Constructor.io: search
, browse
, autocomplete
, recommendations
, catalog
and tracker
.
npm run lint # run lint on source code and tests
npm run test # run tests
npm run coverage # run tests and serves coverage reports from localhost:8081
npm run docs # output documentation to `./docs` directory