https://github.com/vdavid/node-mautic
Node.js Mautic API with ES6+async/await
https://github.com/vdavid/node-mautic
Last synced: 4 months ago
JSON representation
Node.js Mautic API with ES6+async/await
- Host: GitHub
- URL: https://github.com/vdavid/node-mautic
- Owner: vdavid
- License: apache-2.0
- Created: 2019-03-24T19:27:06.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-06-23T19:26:26.000Z (almost 2 years ago)
- Last Synced: 2025-10-11T14:56:51.792Z (8 months ago)
- Language: JavaScript
- Size: 385 KB
- Stars: 47
- Watchers: 7
- Forks: 28
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://github.com/node-fetch/node-fetch)), which has 0 dependencies.
## Installation
```bash
$ npm install node-mautic
```
## Usage
1. Require the class
```javascript
const MauticConnector = require('node-mautic');
```
2. Instantiate the object
```javascript
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` and `password` are just a normal Mautic user's username and password. There are no separate API users in Mautic.
- `timeoutInSeconds` is optional.
3. Make calls
Example:
```javascript
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](https://codeberryschool.com) that allowed me to do this work and open-source it.