fieldbook-client
v1.0.7
Published
A simple node client for Fieldbook.com's API
Downloads
29
Readme
fieldbook-client
Official Node client for Fieldbook
Installing
npm install fieldbook-client
Creating a client
var Fieldbook = require('fieldbook-client');
var client = new Fieldbook({
key: 'KEY_HERE',
secret: 'SECRET_HERE',
bookId: 'BOOK_ID_HERE',
})
To get an API key, see the getting started guide.
API Methods
All API methods will return a promise for data from the Fieldbook API. Error responses will try to give an error with a good message, and the rejected errors will have a response
property that contains the full response for the errored request. This API uses Q promises via requestify
.
client.listSheets()
client.listSheets()
Returns the list of sheet names on the book.
client.list(SHEET_NAME, OPTIONS)
client.list('people', {include: 'name,phone'})
Return the list of records. OPTIONS can include: include/exclude, limit/offset, and filter terms. See the sheet API docs for more information.
client.get(SHEET_NAME, ID, OPTIONS)
client.get('people', 2, {exclude: 'phone'})
Return a specific record in a sheet. OPTIONS can include include/exclude options just as list() can.
client.create(SHEET_NAME, ATTRIBUTES)
client.create('people', {name: "Julia Rogers", role: "Engineer"})
Create a record in the SHEET_NAME sheet with the specified attributes.
client.update(SHEET_NAME, ID, ATTRIBUTES)
client.update('people', 4, {role: 'manager'})
Update the attributes of a specified record. Only changed the passed attributes.
client.destroy(SHEET_NAME, ID)
client.destroy('people', 3)
Deletes the specified record from the sheet.
client.createWebhook(URL, ACTIONS)
client.createWebhook('https://example.com/my-webhook', ['create', 'update', 'destroy'])
Creates a webhook at the specified endpoint. Only current valid actions are create
, update
, and destroy
. See the webhook documentation for more information.
client.listWebhooks()
client.listWebhooks()
Lists all the webhooks with their subscribed actions that are currently on the book.
client.destroyWebhook(ID)
client.listWebhooks().then(function (webhooks) {
return client.destroyWebhook(webhooks[0].id)
})
Remove a webhook from the book.
Running tests
First install foreman, if you don't have it. gem install foreman
Take the test/apiTestBook.json
file and drag it onto the book list, this will
create a book
On that book, create an API key, and then populate a .env file with this variables:
TEST_BOOK_ID='<BOOK_ID_HERE>'
TEST_KEY='<API_KEY_NAME>'
TEST_KEY_SECRET='<API_SECRET>'
Then just run npm test
.