The Vizzlo Portfolio
Vizzlo’s portfolio is the full set of all available plugins (chart types). Plugins are usually navigated to through multiple lists. See for example this portfolio content (that only contains five plugins for demonstration purposes):
- Bar Chart
- Gantt Chart
- Pie Chart
- Waterfall Chart
- World Map
That same five plugins might be show up in multiple spots throughout the portfolio:
- Recent plugins
- Gantt Chart
- Bar Chart
- Time-Series Graph
- All plugins
- Bar Chart
- Gantt Chart
- Pie Chart
- Waterfall Chart
- World Map
- Top-rated plugins
- Waterfall Chart
- Pie Chart
- Gantt Chart
- Project Management Plugins
- Gantt Chart
- Waterfall Chart
- Bar Chart
- Search results for “bar”:
- Bar Chart
- Waterfall Chart
To be able to build this kind of structured UI, use the following API calls. The API endpoints still use the legacy /vizzards path for compatibility, but they return plugin information.
Listing plugins
Route
GET /api/v1/portfolio
Reading plugin details
Route
GET /api/v1/portfolio/
id
Searching the portfolio
Route
GET /api/v1/portfolio/search
This endpoint is used to search the portfolio for certain user-specified keywords.
The JSON will contain the actual search terms as query as well as optional paging information.
Query parameters
The search request is submitted using the following query parameters:
query(string): User-specified search terms to search for.limit(number): Optional: Maximum number of search results to return. (Default:100)offset(number): Optional: Offset of the first search result matching the query to return. (Default:0)include_description(boolean): Optional: Return a list of plugin descriptions instead of just plugin IDs.
Return value
query(string): The search query used by this request.limit(number): Maximum number of search results to return.offset(number): Offset of the first search result matching the query to return.count(number): Total number of search results available matchingquery.ids(array of strings): Ordered list of plugins matchingquery. This key will not be returned, ifinclude_descriptionwastrue.plugins(array of objects): Ordered list of plugin descriptions matchingquery. This key will only be returned, ifinclude_descriptionwastrue.
Downloading plugins
Route
GET /api/v1/vizzards/
id
Return value
{
// …
}
Reviewing plugins
Route
POST /api/v1/vizzards/
id/reviews
Review shall be posted as JSON document with the following keys:
rating(number): 1–5 stars.feedback(string): Written review.public(boolean):trueif this review shall be posted on the site.
Adding a plugin to the favorites
Marks the plugin specified by id as a favorite.
Route
PUT /api/v1/portfolio/favorites/
id
Return value
Returns a JSON array of strings containing the now current list of favorites.
Removing a plugin from the favorites
If currently a favorite, removes the plugin specified by id from the list of favorites.
Route
DELETE /api/v1/portfolio/favorites/
id
Return value
Returns a JSON array of strings containing the now current list of favorites.