InvestorsHub Logo
Followers 18
Posts 1673
Boards Moderated 1
Alias Born 01/03/2013

Re: None

Tuesday, 12/05/2017 3:24:26 AM

Tuesday, December 05, 2017 3:24:26 AM

Post# of 37776
Cancer.im's REST API

http://files.cancer.im/v/liCbfLZ17ZiAIxvpQ0dS

What is a REST API ?



REST API
stands for Representational State Transfer (REST) Automatic Programming Interface (API). More precisely, REST is an architectural style consisting of a coordinated set of architectural constraints applied to components, connectors, and data elements, within a distributed hypermedia system. REST ignores the details of component implementation and protocol syntax in order to focus on the roles of components, the constraints upon their interaction with other components, and their interpretation of significant data elements. Through the application of REST architectural constraints certain architectural properties are induced: Performance, Scalability, Simplicity, Modifiability, Visibility, Portability, and Reliability.

The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation at UC Irvine.REST has been applied to describe desired web architecture, to identify existing problems, to compare alternative solutions and to ensure that protocol extensions would not violate the core constraints that make the web successful. Fielding used REST to design HTTP 1.1 and Uniform Resource Identifers (URI).

To the extent that systems conform to the constraints of REST they can be called RESTful. RESTful systems typically, but not always, communicate over Hypertext Transfer Protocol (HTTP) with the same HTTP verbs (GET, POST, PUT, DELETE, etc.) that web browsers use to retrieve web pages and to send data to remote servers. REST systems interface with external systems as web resources identified by Uniform Resource Identifiers (URIs), for example /people/tom, which can be operated upon using standard verbs such as DELETE /people/tom.

The name "Representational State Transfer" is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through the application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use.

Cancer.im documented REST API consists of more than 700 pages, giving implicit programming details to the developer community on how they can now build new applications and functionalities to the Cancer.im social network including:


1. Login - (Http Verbs, Member Login, Login, Single Sign On, Logout);

2. Member Sign Up – (Sign Up Form, Validate Sign Up Form);

3. Members – (Browse Members, Member Search Form, User Profile, Edit Profile Fields, Edit Profile Photo, Get User Info, Get Friends, Create New List, Add Friend To List, Remove Friend From List, Delete List, Suggest Friend);

4. Member Actions – (Add Friend, Cancer Friend Request, Accept Friend Request, Reject Friend Request, Remove Friend, Block Member, Unblock Member, make Profile Photo);

5. Member Settings – (General Settings, Privacy Settings, Network Settings, Notification Settings, Change password, Delete Account);

6. Notifications – (Get Notifications, Get Friend Request, Get New updates Count, Mark All Notifications As Read, Mark a Notification As Read);

7. Messages – (Get Inbox Messages, Get outbox Messages, Mark Message As Read, View Messages, Compose New Messages, Delete Message Conversations);

8. Likes and Comments – (Get Likes and Comments, Like, Unlike, Post Comment, Delete a Comment);

9. Activity Feed – (Get Activity Feeds, Post New Feed, Delete Feed and Comment, Delete Feed and Comment, Like, Unlike, Post feed Comments, Tag Friends in Feed);

10. Photo Albums –(Browse Albums, My Albums, Browse Search Forum, Create Album, Album Profile, Edit Album, Delete Album, Photo’s List, Photo’s View, Edit Photo Info, Delete Photo, Rotate Photo, Flip Photo);

11. Blogs – (Browse Blogs, Manage Blogs, Blogs Search Form, create a Blog, Blog Profile, Edit Blog, Get User’s Blog Categories, Blogs Subscribe, Blogs Unsubscribe, Delete Blog);

12. Classifieds –(Browse Classifieds, My classifieds, Classifieds Search Form, Create Classified, Classified profile, Edit Classified, Open/Close Classified, Delete Classified);

13. Groups –(Browse Groups, Manage Groups, Group Search Form, Create Group, Group Profile, Edit group, Delete Group);

14. Group Members –( Member List, Invite Members, Accept member Request, Ignore Member request, Leave group, Join Group, Group Membership Request, Approve Membership Request, Cancel Membership Request, Remove Members, Edit Member Staff, Promote Group member, Demote Group Member);

15. Photo View – (Photo View, Edit Photo title & description, Delete Photo);

16. Group Discussions – (Discussions List, Create Discussions, Discussions Profile, Post Discussions Reply, Make Sticky/Remove Sticky, Open/Close, rename Discussion, Watch Topic/Stop Watching Topic, Delete Discussion);

17. Events – (Browse Events, My Events, Events Search Form, Create Event, Event Profile, Edit Event, Delete Event, Event Organizer Profile, Event Categories Listings, Events Guest List, Join Event, Leave Event, Invite members, Accept Members Request, Ignore Members Request, Event Membership Request, cancer Membership request, Remove Member, Publish Event, Open Close Event, Tell a Friend);

18. Diary – (Browse Diaries, Diary Search Form, Create Diary, Edit Diary, Diary Profile, Delete Diary, Add Event to Diary, Remove Event From Diary, Tell a Friend, Message Owner of Diary);

19. Video – (Browse Video, My Videos, Video Search Form, create Video, Video profile, Edit Video Rate to Video, Delete Video);

20. Music/Voice Sharing – (Browse Playlist, My Playlist, Playlist Search Form, Create Playlist, Playlist Profile, Edit Playlist, Delete playlist, Delete Song, Move Song to Other Playlist);

21. Polls – (Browse Polls, Manage Polls, Poll Search Form, Create Poll, Poll Profile, Edit Poll, Vote on Poll, Delete Poll);
Forums – (Forums Listings, Browse Forum Listings, Get member Forum Posts, Create Forum Posts, Create Forum Topic, Forum Topic Profile, Delete Forum Topic, Make sticky/remove Sticky, Open /Close, Watch Topic/Stop Watching Topic, Rename Forum Topic, Move Topic to Forum, Topic Post’s Reply, Delete Post);

22. Geo-Location – (Proximity Search, Suggest Locations).