Skip to content

FieldControl/mautic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mautic logo
npm install mautic --save

Unofficial Node.js bindings to the Mautic REST API - https://developer.mautic.org/#rest-api

Field Control ♥ Continuous Integration Maintainability Test Coverage

Built with ❤ by FieldControl and contributors - We are hiring

Status

WIP: Working in progress and we need you, pull requests are welcome.

Installation

This client is intended for server side use only.

npm install mautic --save

Playground

You can play and watch everything working at bin/playground.js:

node bin/playground.js

Usage

const Mautic = require('mautic')
const client = new Mautic({
  baseUrl: 'http://mautic-instance/api',
  auth: {
    username: 'luiz',
    password: 'shhhhhhhhhhhhhh!:x'
  }
})

Resources

Contact

// Get contact by id
const response = await client.contacts.get(contactId)
// List contacts
const response = await client.contacts.list()
// List contacts with a search
const response = await client.contacts.list({ search: 'exemple@exemple.com' })
// Create contact
const response = await client.contacts.create({
  firstname: 'Luiz',
  lastname: 'Freneda',
  email: 'luiz@freneda.com.br',
  owner: 1
})
// Delete contact
const response = await client.contacts.delete(contactId)
// Edit contact
const response = await client.contacts.edit(contactId, {
  firstname: 'Luiz',
  lastname: 'Freneda',
  email: 'luiz@freneda.com.br',
  owner: 1
})
// If the given id exists, clear all contact info and push with new ones, if not, create a contact
const response = await client.contacts.editOrCreate(contactId, {
  firstname: 'Luiz',
  lastname: 'Freneda',
  email: 'luiz@freneda.com.br',
  owner: 1
})
// Add points to a contact
const response = await client.contacts.addPoints(contactId, 10)
// Remove points of a contact
const response = await client.contacts.subtractPoints(contactId, 10)
// Get notes
const response = await client.contacts.getNotes(contactId)
// Get Activity Events
const response = await client.contacts.getActivityEvents(contactId)
// Get Companies of a contact
const response = await client.contacts.getCompanies(contactId)
// Add UTM tags
const response = await client.contacts.addUTMTags(contactId, {
  utm_campaign: 'utm campaign tag',
  utm_source: 'utm source tag',
  utm_medium: 'utm medium tag',
  utm_content: 'utm content tag',
  utm_term: 'utm term tag'
})
// Remove UTM tag
const response = await client.contacts.removeUTMTags(contactId, utmId)
// List segments of a contact
const response = await client.contacts.listSegments(contactId)

Segment

// Add contact to segment
const response = await client.segments.addContact(1, 2) // segmentId, contactId
// Remove contact of segment
const response = await client.segments.removeContact(1, 2) // segmentId, contactId

Company

// Get company by id
const response = await client.companies.get(1) // companyId
// List companies
const response = await client.companies.list({
  name: 'Field Control'
})
// Create a company
const response = await client.companies.create(2) // company
// Edit a company
const response = await client.companies.edit(1, 2) // companyId, company
// If the given id exists, clear all company info and push with new ones, if not, create a company
const response = await client.companies.editOrCreate(1, 2) // companyId, company
// Delete a company
const response = await client.companies.delete(1) // companyId
// Add a contact to a company
const response = await client.companies.addContact(1, 2) // companyId, contactId
// Remove a contact of a company
const response = await client.companies.removeContact(1, 2) // companyId, contactId

Pull Requests

  • Add tests! Your patch won't be accepted if it doesn't have tests.
  • Document any change in behaviour. Make sure the README and any other relevant documentation are kept up-to-date.
  • Create topic branches. Don't ask us to pull from your master branch.
  • One pull request per feature. If you want to do more than one thing, send multiple pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.



Open source, from Field Control with ❤ - We are hiring!

About

Ⓜ️ Mautic - Unofficial Node.js bindings to the Mautic REST API

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published