node-mautic
node-mautic copied to clipboard
Node.js Mautic API with ES6+async/await
node-mautic
A Node.js Mautic API implemented with ES6 + async/await.
Tested with Node 14 and Mautic 3.1.2. (Should work with Node 10 and Mautic 2.7.x as well.)
This package has only 1 dependency (node-fetch), which has 0 dependencies.
Installation
$ npm install node-mautic
Usage
-
Require the class
const MauticConnector = require('node-mautic');
-
Instantiate the object
const mauticConnector = new MauticConnector({ apiUrl: 'https://your-url.com', username: '...', password: '...' , timeoutInSeconds: 5 });
-
apiURL
needs to be just the base URL. The/url/
part of the API URL is to be omitted here. -
username
andpassword
are just a normal Mautic user's username and password. There are no separate API users in Mautic. -
timeoutInSeconds
is optional.
-
-
Make calls
Example:
const campaigns = (await mauticConnector.campaigns.listCampaigns()).campaigns;
Features
- uses basic authentication
- has methods for all ~200 documented API endpoints
- has less than 400 lines of code
- uses async/await (no callback hell)
- some documentation
- 6 Jest tests
Links
- NPM: https://www.npmjs.com/package/node-mautic
- GitHub: https://github.com/vdavid/node-mautic/
Tests
To run the tests, fill the apiUrl
, username
, and password
fields in MauticConnector.i.test.js
.
Thanks
- To https://github.com/sambarnes90/node-mautic/ for the code I started from
- To my company CodeBerry that allowed me to do this work and open-source it.