|
|
|
**PV Scheduler**
|
|
|
|
|
|
|
|
| Purpose | Endpoint | Variables | Return value | GET | PUT | POST |
|
|
|
|
| ------- | -------- | --------- | ------------ | :------: | :------: | :-------: |
|
|
|
|
| Get all shows of a user | /api/v1/shows/ | | Array of show objects | X | |
|
|
|
|
| Get show by ID | /api/v1/shows/1 | | Show object | X | |
|
|
|
|
| Add show | /api/v1/shows/ | name, slug, image, logo, short_description, description, email, website, cba_series_id, fallback_id, type_id (int), rtrcategory_id (int), predecessor_id (int), cba_series_id (int), category (array), hosts (array), language (array), topic (array), musicfocus (array), owners (array) | | | | X |
|
|
|
|
| Update show | /api/v1/shows/1 | name, slug, image, logo, short_description, description, email, website, cba_series_id, fallback_id | | | X |
|
|
|
|
| Get timeslots of a show | /api/v1/timeslots | show_id (int), start (date), end (date) | Array of timeslots objects. If start and end not given, a default timerange will be returned. | X | |
|
|
|
|
| Get timeslots by ID | /api/v1/timeslots/1 | | Timeslot object | X | |
|
|
|
|
| Update timeslot | /api/v1/timeslots/1 | id (int), memo (string), playlist_id (int), is_repetition (boolean) | Timeslot object | | X |
|
|
|
|
| Get notes by ID | /api/v1/notes/1 | ids (comma separated integer values) | Array of note objects | X | |
|
|
|
|
| Add note | /api/v1/notes | show_id (int), timeslot_id (int), title, slug, summary, content, image, status, cba_id | | | | X |
|
|
|
|
| Update note | /api/v1/notes/1 | note_id (int), show_id (int), timeslot_id (int), title, slug, summary, content, image, status (0 = cancellation, 1 = recommendation, 2 = repetition), cba_id (int) | Note object | | X |
|
|
|
|
| Get user profile | /api/v1/users/1 | | User object | X | |
|
|
|
|
| Update user profile | /api/v1/users/1 | id (int), first_name, last_name, email, biography, website, googleplus_url, facebook_url, twitter_url, linkedin_url, youtube_url, dorftv_url, cba_url, cba_username, cba_user_token, image | User object | | X |
|
|
|
|
| Get categories | /api/v1/categories | | Array of category objects | X | | |
|
|
|
|
| Get category by ID | /api/v1/categories/1 | | Category object | X | | |
|
|
|
|
| Add category | /api/v1/categories | category (str), abbrev (str), slug (str) | | | | X
|
|
|
|
| Update category | /api/v1/categories/1 | category (str), abbrev (str), slug (str) | | | X | |
|
|
|
|
| Get types | /api/v1/types | | Array of type objects | X | | |
|
|
|
|
| Get type by ID | /api/v1/types/1 | | Type object | X | | |
|
|
|
|
| Add type | /api/v1/types | type (str), slug (str), color (str), text_color (str) | | | | X
|
|
|
|
| Update type | /api/v1/types/1 | type (str), slug (str), color (str, e.g. '#FFFFFF'), text_color (str, e.g. '#000000'), enabled (bool) | | | X | |
|
|
|
|
| Get topics | /api/v1/topics | | Array of topic objects | X | | |
|
|
|
|
| Get topic by ID | /api/v1/topics/1 | | Topic object | X | | |
|
|
|
|
| Add topic | /api/v1/topics | topic (str), abbrev (str), slug (str) | | | | X
|
|
|
|
| Update topic | /api/v1/topics/1 | topic (str), abbrev (str), slug (str) | | | X | |
|
|
|
|
| Get music focuses | /api/v1/musicfocus | | Array of musicfocus objects | X | | |
|
|
|
|
| Get music focus by ID | /api/v1/musicfocus/1 | | Musicfocus object | X | | |
|
|
|
|
| Add music focus | /api/v1/musicfocus | focus (str), abbrev (str), slug (str) | | | | X
|
|
|
|
| Update music focus | /api/v1/musicfocus/1 | focus (str), abbrev (str), slug (str) | | | X | |
|
|
|
|
| Get RTR categories | /api/v1/rtrcategories | | Array of rtrcategory objects | X | | |
|
|
|
|
| Get RTR category by ID | /api/v1/rtrcategories/1 | | RTRCategory object | X | | |
|
|
|
|
| Add RTR category | /api/v1/rtrcategories | rtrcategory (str), abbrev (str), slug (str) | | | | X
|
|
|
|
| Update RTR category | /api/v1/rtrcategories/1 | rtrcategory (str), abbrev (str), slug (str) | | | X | |
|
|
|
|
| Get languages | /api/v1/languages | | Array of language objects | X | | |
|
|
|
|
| Get language by ID | /api/v1/languages/1 | | Language object | X | | |
|
|
|
|
| Add language | /api/v1/topics | name (str), abbrev (str), slug (str) | | | | X
|
|
|
|
| Update language | /api/v1/languages/1 | name (str), abbrev (str), slug (str) | | | X | |
|
|
|
|
| Get hosts | /api/v1/hosts | | Array of host objects | X | | |
|
|
|
|
| Get host by ID | /api/v1/hosts/1 | | Host object | X | | |
|
|
|
|
| Add host | /api/v1/hosts | name (str), email (str), website (str) | | | | X
|
|
|
|
| Update host | /api/v1/hosts/1 | name (str), email (str), website (str) | | | X | |
|
|
|
|
| Get daily program | /api/v1/program/ | date (date) | If date is not given, today will be returned. Array of objects | X | |
|
|
|
|
| Playout API | /api/v1/playout | start (date), end (date) | If start and end not given, the next 24 hours will be returned. Array of objects. Fields: timeslot_id (int), timeslot_start (datetime), timeslot_end (datetime), show_id (string), show_name (string), show_hosts (string), rtrcategory (string), playlist_id (int), schedule_fallback_id (int), show_fallback_id (int), station_fallback_id (int), is_repetition (bool), memo (string), languages (string), type (string), category (string), topic (string), music_focus (string) | X | |
|
|
|
|
| FRAPP API | /frapp/ | start (date), end (date) | If start and end not given, today will be returned. Array of objects | X | |
|
|
|
|
|
|
|
|
**Playout**
|
|
|
|
|
|
|
|
| Purpose | Endpoint | Variables | Return value | GET | PUT |
|
|
|
|
| ------- | -------- | --------- | ------------ | :------: | :------: |
|
|
|
|
| Studio clock | | | station_logo, connected (if playout server is online), signal OK (Liquid Soap Silence Detector: is the current signal below a certain threshold?), current time, countdown until the timeslot's end, name of timeslots and sound source, current running file, next timeslot and all of its files | X | |
|
|
|
|
|
|
|
|
**Trackservice**
|
|
|
|
|
|
|
|
| Purpose | Endpoint | Variables | Return value | GET | PUT |
|
|
|
|
| ------- | -------- | --------- | ------------ | :------: | :------: |
|
|
|
|
| Trackservice | | start (datetime), end (datetime) | If start and end not given, the last x tracks will returned | X | |
|
|
|
|
|
|
|
|
**Importer/Tank**
|
|
|
|
|
|
|
|
| Purpose | Endpoint | Variables | Return value | GET | PUT |
|
|
|
|
| ------- | -------- | --------- | ------------ | :------: | :------: |
|
|
|
|
| File upload | | | | | X |
|
|
|
|
| Get pool criteria | | | | X | |
|
|
|
|
| Get content of a playist | | playlist_id | Array of paths starting with file://, linein://, http(s):// or pool:// | X | |
|
|
|
|
| Create playlist | | show_id, group_id, user_id, files | playlist_id (contains original file paths), playlist_id (contains path to recording) | | X |
|
|
|
|
|
|
|
|
**CBA**
|
|
|
|
|
|
|
|
| Purpose | Endpoint | Variables | Return value | GET | PUT | POST |
|
|
|
|
| ------- | -------- | --------- | ------------ | :------: | :------: | :-----: |
|
|
|
|
| Authentication | cba.fro.at/wp-json/wp/ | cba_username (str), cba_token (str) | bearer token | | | X |
|
|
|
|
| Upload | cba.fro.at/wp-json/wp/v2/media/ | filename | post_id (attachment) | | X | |
|
|
|
|
| Post publication | cba.fro.at/wp-json/wp/v2/posts/ | post_parent (= cba_series_id), post_title, post_content, post_category, language_id, production_date, broadcast_date, is_copyright (boolean), attachment_id | | | X | |
|
|
|
|
| Get all categories | cba.fro.at/wp-json/wp/v2/categories?per_page=100 | | Array of objects | X | | |
|
|
|
|
| Get all languages | cba.fro.at/wp-json/wp/v2/language?per_page=100 | | Array of objects | X | | |
|
|
|
|
|
|
|
|
|
|
|
|
|