0.0.50 • Published 9 years ago

node-socrata v0.0.50

Weekly downloads
10
License
MIT
Repository
github
Last release
9 years ago

##node-socrata## A Node.js interface to access the Socrata Open Data API (SODA)

###*Note: Work in Progress###

####Install####

$ npm install node-socrata

###Examples###

####'GET' Requests####

Request All Data: default limit: 1000 records

Using a default 'GET' request with no query parameter returns all records and fields in the destination data resource table.

var Socrata = require('node-socrata');

var config = {
  // find a hostDomain from the listSource method
  hostDomain: 'https://controllerdata.lacity.org',
  // An accessible API table from the host domain
  resource: 'revenue',
  // Create account and register app https://opendata.socrata.com
  XAppToken: process.env.SOCRATA_APP_TOKEN || 'registered-app-token'
};

var soda = new Socrata(config);

soda.get(function(err, response, data) {
  // response = json object returning headers, status, path, method
  // data  = json object of table records
});

Query Data with Socrata's 'SoQL'

Use a query parameter object to filter/query the destination resource table.

ParametersDescriptionDefault
$selectThe set of columns to be returnedAll columns
$whereFilters the rows to be returnedNo filter
$orderSpecifies the order of resultsUnorder
$groupColumn to group results on, similar to SQL GroupingNo grouping
$limitMaximum number of results to return1000 (and a maximum of 1000)
$offsetOffset count into the results to start at, used for pagingStarts at 0
$qPerforms a full text search for a valueNo search
// Create query parameter object:
// Return ten records & only fund_name and fiscal_year

/** Query Parameters initial "$" is optional **/
var params = {
  $select: ['fund_name', 'fiscal_year'],
  $limit: 10
}

soda.get(params, function(err, response, data) {
  // data... use it.
});

####'POST' Requests####

To post data to your authorized Socrata tables use the .post method which takes two arguments: data (json) and a callback function which returns the response.

To use the post method, you will have to setup your Socrata username and password in the initial config to execute a successful post.

//  Setup and configure the Socrata table to execute a 'POST' request
var Socrata = require('node-socrata');

var config = {
  hostDomain: 'https://opendata.socrata.com', // The host domain for the table.
  resource: 'my-table', // The table where data will be posted.
  username: process.env.SOCRATA_USERNAME || 'username',
  password: process.env.SOCRATA_PASSWORD || 'password',
  XAppToken: process.env.SOCRATA_APP_TOKEN || 'registered-app-token'
};

// **Note: Make sure to follow the table's existing schema;
var data = {
  foo: 'bar'
};

var soda = new Socrata(config);

// Post that data
soda.post(data, function(err, response, record) {
  // handle error, response, and record
});

With a successful post, the callback's record argument will return the number of records created, deleted, and updated. With the post method, records will only be created.

Output generated from the record

{ 'By RowIdentifier': 0,
  'Rows Updated': 0,
  'Rows Deleted': 0,
  'Rows Created': 1,
  Errors: 0,
  'By SID': 0
}

####TODO####

  • Add 'DELETE' method
  • Add 'PUT' method
  • Add supported data types

####About#### by Andrew Burnes - apburnes@gmail.com

0.0.50

9 years ago

0.0.5

9 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.12-a

10 years ago

0.0.12

10 years ago

0.0.11-k

10 years ago

0.0.11-j

10 years ago

0.0.11-i

10 years ago

0.0.11-h

10 years ago

0.0.11-g

10 years ago

0.0.11-f

10 years ago

0.0.11-d

10 years ago

0.0.11-c

10 years ago

0.0.11-b

10 years ago

0.0.11-a

10 years ago

0.0.11

10 years ago

0.0.1

10 years ago