EnergyCAP Online JSON REST-based API
-
Upload
energycap-inc -
Category
Technology
-
view
280 -
download
2
Transcript of EnergyCAP Online JSON REST-based API
![Page 1: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/1.jpg)
EnergyCAP OnlineJSON REST-based APIPresented by Ryan Booz, BEP
![Page 2: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/2.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
What is an API?
Application Programming Interface
A defined way of using an application’s functionality outside of the application itself
The predominant method of getting data with mobile applications
Not a standard, but is composed of standards
![Page 3: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/3.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Popular Examples: Google Maps
![Page 4: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/4.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Popular Examples: Twitter
![Page 5: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/5.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Popular Examples: Facebook
![Page 6: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/6.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Popular Examples: Netflix
![Page 7: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/7.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Popular Examples: Pinterest
![Page 8: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/8.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
RESTRepresentational State Transfer
Use native HTTP protocol/statuses as the method for communicating
Focus is on the specific objects rather than specific functions
Objects accessed directly by URI
![Page 9: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/9.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
EnergyCAP API Goals
Develop an API that we would enjoy using (because we will)
Assume (almost) all future EnergyCAP development will utilize the API
![Page 10: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/10.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
EnergyCAP API GoalsInclude enough META information to be helpful while still staying REST-ful
When it makes sense, REST is not god. We can provide more coupled services on rare occurrences
![Page 11: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/11.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
EnergyCAP API Goals
Most GET APIs will allow:Querying
Filtering
Documentation will be a requirement of the development process
Documented APIs are supported, undocumented APIs are not
![Page 12: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/12.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
EnergyCAP API V2
In most cases, V2 is our first, 100% supported API version
Limited V1 APIs will be supported as we move everything to V2
V2 brings consistency in requests and responses, permissions and technology
![Page 13: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/13.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Example: BuildingsREST: (the new way)
http://server/api/v2/place
VERB=GET
Headers control content-type
Any browser or development tool can use REST services without additional plugins
![Page 14: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/14.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Example: Place
{ “Data": [ { "placeID": 1, "placeCode": “RADNOROFFICE", "placeInfo": “Radnor Office", "parentID": 4, "createdBy": 5, "createdDate": "2014-04-28T12:31:41.7184412-04:00", "modifiedBy": 7, "modifiedDate": "2014-04-28T12:31:41.7194622-04:00", "placeTypeID": 9, "PlaceType": {
"placeTypeID": 3,"placeTypeCode": “OFFICE","placeTypeInfo": “Office Building“
} ]}
![Page 15: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/15.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Example: Place
All Places: (GET)
http://server/api/v2/place
Specific Places: (GET)
http://server/api/v2/place/1234
Create Places: (POST)
http://server/api/v2/place
![Page 16: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/16.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Example: Place
Update Place: (PUT)
http://server/api/v2/place/1234
Delete Place: (DELETE)
http://server/api/v2/place/1234
![Page 17: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/17.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Public vs. Private API
The EnergyCAP Public API will be a subset of our internal, private API
You will NOT be able to do everything through the API
![Page 18: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/18.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Public vs. Private API
Public API will be documented and available through common URL
When you have EnergyCAP 3.2 or greater, you have access to the SUPPORTED API
![Page 19: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/19.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Public vs. Private API
Once someone incorporates an API into their business process, we must provide support until it is properly deprecated
Data “objects” and some processors are the first priority
Data-centric, not UI
You cannot request a chart image through the API
![Page 20: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/20.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Access
http://server/api/docs
![Page 21: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/21.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Demo
![Page 22: EnergyCAP Online JSON REST-based API](https://reader036.fdocuments.us/reader036/viewer/2022062405/55838274d8b42a88578b519b/html5/thumbnails/22.jpg)
©2014 EnergyCAP, Inc. ▪ @energycap ▪ www.EnergyCAP.com
Questions
Visit the Ace Place to learn more!