[EPIC] Web API to meet radio requirements
[EPIC] Future-proof AURA API (#192 - closed)
Parent:List of of requirements which popped up for the o94 & FRO Website integration. Details on implementation, naming schemes and parameters are subject to discussion.
Web Endpoints
Program Calendar Overview
The following endpoint is meant for website integration:
/steering/api/v1/program/calendar?includeVirtual=true
Note: At the moment the results holds lists of several entities. In order to display a program calendar, radio website developer need to make table look-ups to gather the required information. In the future we may simplify this approach.
Raw Input
Raw input from @chrizz/FRO to be evaluated:
-
current show: what's playing now - covered by/trackservice
-
schedule / timetable for a special day (calendar with navigation to previous / next days) https://www.fro.at/programm/ -
shows per category: all shows ordered by category, alphabetical, language https://www.fro.at/sendungen/
Episodes / Timeslots / Notes
DRAFT: These are all to be reviewed first:
-
Include
episode
when returning programme entry -
Filter and pagination for episodes: a.) query by date and date range, b.) Pagination by providing a page-size, a page-number. There was an request to display "next" and "previous" buttons on the Episode Detail Page of the website. This could be realized by a page size of
1
andpagination.next
/pagination.prev
record references. - Show details in Episode result: On Episode records provide some necessary show details, such as Show Title, Show Image and Show Slug - The most important Show details should be available on the Episode without doing an additional query
- Query/filter episodes with 0 results: There should be no error returned but a resultset with 0 records.
- Ascending order by default: The episodes should be provided ordered ascending by the API already. Allow setting different order by adding relevant parameter.
- Child records: "episode.note_title" should be "episode.title"
-
Naming issues: Instead of
episode.name
, which holds the show name, it should be something likeepisode.show.name
. Instead ofepisode.title
, which holds the show title, it should be something likeepisode.show.title
. Clarify the similarity of the terms, and if this field is in the AURA API at all. Maybe that's only an o94 legacy naming issue. Also check for existence of "episode.emmission_ID" - this should be "episode.timeslot_id", "episode.episode_id" or "episode.id" only.