fellowshipone

Fellowship One (F1) API wrapper for Node.js

node-fellowshipone

A Fellowship One API wrapper for Node.js

In very early stages.

Allows you to:

  • use a username/password to easily get OAuth tokens for dealing with Fellowship One (i.e. 2nd-party credentials-based authentication)
  • interface with the F1 API in a slightly-simplified way

See passport-fellowshipone for 3rd-party OAuth authentication.

$ npm install fellowshipone
var f1 = new F1({
  apiURL: 'http://mychurch.staging.fellowshiponeapi.com/v1',
  username: 'joe',
  password: 'joespassword',
  oauth_credentials: {
    consumer_key: '123',
    consumer_secret: '456789'
  }
})
f1.get_token(function(erroauth_credentialsuserURL) {
  request.get(userURL, { oauth: oauth_credentials, json: true }, function(errresbody) {
    console.log('hi there, %s %s', body.firstName, body.lastName)
  })
})
var config = {
  apiURL: 'http://mychurch.staging.fellowshiponeapi.com/v1',
  username: 'joe',
  password: 'joespassword',
  oauth_credentials: {
    consumer_key: '123',
    consumer_secret: '456789'
  }
}
var f1 = new F1(config)
// this method is useful for integrating with other APIs 
f1.authenticate(function(err) {
  console.log('got tokens: %s/%s', config.oauth_credentials.token,
    config.oauth_credentials.token_secret)
  console.log('user URL is %s', config.userURL)
})

We're aiming to support all of the F1 API by v1.0.0. The (more-or-less) current support state is:

  • [ ] Accounts
  • People API Realm
    • [x] Households
      • [x] HouseholdMemberTypes
    • [x] People
      • [ ] People Attributes
      • [ ] People Images
    • [x] Addresses
      • [x] AddressTypes
    • [ ] Attributes
      • [ ] AttributeGroups
    • [x] Communications
      • [x] CommunicationTypes
    • [ ] Denominations
    • [ ] Occupations
    • [ ] Schools
    • [x] Statuses
      • [ ] SubStatuses
    • [ ] Requirements
    • [ ] Requirement Statuses
    • [ ] Background Check Statuses
    • [ ] People Requirements
    • [ ] Requirement Documents
  • Giving API Realm
    • not yet
  • Groups API Realm
    • not yet
  • Events API Realm
    • not yet
$ npm install --dev
$ make test

The MIT License

Copyright (c) 2014-2015 Dave Henderson