With our API, you can extend your projects for free (check terms and conditions for more details) by connecting to our servers for traffic details around bus-stops.
The goal of the Twitter-ish API is to make it extremely easy for developers with tools that already talk to Twitter to communicate with Tsaboin TrafficTalk as well. The most used methods will be implemented first.
The official Twitter API documentation (https://dev.twitter.com/docs) is a good place to start for information about this API. We intend to provide full documentation on this site, but for now will have the exceptions. The following will be mostly useful for devs experienced with the Twitter API and getting ready to build in Tsaboin TrafficTalk compatibility.
API root
The API root for tsaboin.com is at https://www.tsaboin.com/api. However, there is no resource at the API root.
To make API calls you tack on the method name. Examples:
http://www.tsaboin.com/api/statuses/public_timeline.xml
http://www.tsaboin.com/api/statuses/show/123.xml
http://www.tsaboin.com/api/friendships/exists.json?user_a=dele&user_b=kayslay
OAuth authentication
Tsaboin TrafficTalk supports OAuth 1.0a authentication for API resources. Generally, Tsaboin TrafficTalk’s UI and API are similar to Twitter’s for OAuth applications. To use OAuth with Tsaboin TrafficTalk, you’ll need to register your client application via the web interface and obtain a consumer key and secret. You can find the interface for application registration under settings/oauthapps. E.g.:
https://www.tsaboin.com/settings/oauthapps
SSL
Tsaboin.com supports SSL for all API methods, and it’s especially recommended for use with API methods requiring authentication (e.g.: https://www.tsaboin.com/api/account/verify_credentials.xml).
JSONP callbacks
For API methods that return JSON, an optional JSONP-style callback parameter is supported. If supplied, the response will be in JSONP format with a callback of the given name. To make it easier for clients to handle error conditions, HTTP error codes are suppressed, and the errors will be returned in the response body when using JSONP.
https://www.tsaboin.com/api/statuses/public_timeline.json?callback=foo
Rate limiting
We currently don’t enforce any rate-limiting. Please don’t make us regret it.
NOTE
Some things to remember:
Timeline resources
statuses/public_timeline | As documented. |
statuses/home_timeline | Fully compatible with enhancements. |
statuses/friends_timeline | Alias of home_timeline. |
statuses/mentions | Fully compatible with enhancements. |
statuses/replies | Alias of mentions. |
statuses/user_timeline | As documented. |
Status resources
statuses/show | As documented. |
statuses/update | As documented. Additional ‘media’ parameter allows binary multimedia uploads (images, etc.). Format post data as multipart/form-data when using the ‘media’ parameter. |
statuses/destroy | As documented. |
statuses/retweet | As documented. Note: we call these broadcasts in the web interface. |
User resources
statuses/friends | As documented, except: does not support ‘lite’ parameter. Also, ordered by subscription and not signup date. |
statuses/followers | As documented, except: does not support ‘lite’ parameter. Also, ordered by subscription and not signup date. |
users/show | As documented. Additionally, you can bring up a user by email address alone. A user id is not required if an email address is supplied. |
Direct message resources
direct_messages | As documented. |
direct_messages/sent | As documented. |
direct_messages/new | As documented. |
direct_messages/destroy | Not implemented. |
Friendships resources
friendships/create | As documented. |
friendships/destroy | As documented. |
friendships/exists | As documented. |
friendships/show | As documented. |
Friends and followers resources
friends/ids | As documented. |
followers/ids | As documented. |
Account resources
account/verify_credentials | As documented. |
account/end_session | Not implemented. |
account/update_location | As documented. |
account/update_delivery_device | Not implemented. |
account/rate_limit_status | We have no rate limit, so this always returns 150 hits left. |
account/update_profile_background_image | As documented. |
account/update_profile_image | As documented. |
Favorite resources (Called Confirms on the web interface)
favorites | As documented. |
favorites/create | As documented. |
favorites/destroy | As documented. |
Block resources
blocks/create | As documented. |
blocks/destroy | As documented. |
blocks/exists | Not implemented yet. |
blocks/blocking | Not implemented yet. |
OAuth resources
oauth/request_token | As documented. |
oauth/authorize | As documented. |
oauth/access_token | As documented. |
Tsaboin TrafficTalk has a Twitter-compatible notice search, and search results can be returned in both Atom and JSON formats.
Atom
To request search results in Atom, append your URL-encoded query as a parameter to the search method and specify the Atom format:
https://www.tsaboin.com/api/search.atom?q=<query>
JSON
To request search results in JSON, append your URL-encoded query as a parameter to the search method and specify the JSON format:
https://www.tsaboin.com/api/search.json?q=<query>
The search method also supports the following optional URL parameters:
These are extensions to the Twitter API that expose Tsaboin TrafficTalk specific functionality.
Bus Stop resources
Bus stops are treated as groups
traffictalk/busstop/timeline | GET | Shows a group’s timeline. Similar to other timeline resources. | params: page (int), count (int), max_id (int), since_id (int), format (string, ‘xml’, ‘json’, ‘atom’, or ‘rss’), callback (string, JSON-P callback) [format is required] |
traffictalk/busstop/show | GET | Show a group’s profile. | params: id (string, group ID or nickname), group_id (int), group_name (string), format (string, ‘xml’ or ‘json’), callback (string, JSON-P callback) [format is required; must also include a param identifying a group] |
traffictalk/busstop/create | POST | Create a new group. | params: nickname (string, name of the group), full_name (string), homepage (string), description (string), location (string), aliases (string, comma-separated), format (string, ‘xml’ or ‘json’), callback (string, JSON-P callback function) [format and nickname are required] |
traffictalk/busstop/join | POST | Join a group. | params: id (string, group ID or nickname), group_id (int), group_name (string), format (string, ‘xml’ or ‘json’), callback (string, JSON-P callback) [format is required; must also include a param identifying a group] |
traffictalk/busstop/leave | POST | Leave a group. | params: id (string, group ID or nickname), group_id (int), group_name (string), format (string, ‘xml’ or ‘json’), callback (string, JSON-P callback) [format is required; must also include a param identifying a group] |
traffictalk/busstop/list | GET | Show the groups a given user is a member of. | params: id (string, user ID or nickname), user_id (int), screen_name (string), format (string, ‘xml’ or ‘json’), callback (string, JSON-P callback) [format is required; must also include a param identifying a user] |
traffictalk/busstop/list_all | GET | List all local groups. | params: page (int), count (int), format (string, ‘xml’, ‘json’, ‘atom’, or ‘rss’), callback (string, JSON-P callback) [format is required] |
traffictalk/busstop/membership | GET | List the members of a given group. | params: id (string, group ID or nickname), group_id (int), group_name (string), format (string, ‘xml’ or ‘json’), callback (string, JSON-P callback) [format is required; must also include a param identifying a group] |
traffictalk/busstop/is_member | GET | Determine whether a given user is a member of a given group. | params: id (string, user ID or nickname), user_id (int), group_id (int), screen_name (string), group_name (string), format (string, ‘xml’ or ‘json’), callback (string, JSON-P callback) [format is required; must also include a param identifying a user, and a param identifying a group] |