...
API endpoints
FA01 | Create bookmark
POST | /favourites/bookmarks |
---|
User permission required
...
- The parameter folderIds defines folders for adding the new created bookmark.
- The JSON properties itemId and (bookmark) type must exist.
- In portal DDB the folderId favorites must always used.
Query parametersparameters
Name | Value | Occurence | Default | Required |
---|---|---|---|---|
folderIds | ID of folder(s) | Multiple | - | Yes, at least one folderId |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "id": "rjzgAIgBdHmpxQQKvQHm", // Not used "itemId": "IVMX3IRHKU725WR2HHT6VY2AFFS72FGK", // Required "description": "My important description", // Optional "userId": "fachstelle_museum", // Not used "type": "CULTURAL_ITEM", // OptionalRequired "createdAt": 1683641908448, // Not used "updatedAt": 1683641908448, // Not used "keywordTool": { // Optional "done": True } } |
...
- Create bookmark in two folders (If DDB the favorites folder must be one of the folderIds)
- POST https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks?folderIds=Sjszo4cBdHmpxQQKUvah&folderIds=rjwQKYgBdHmpxQQKKgSs
...
FA02 | Retrieve bookmark
GET | /favourites/bookmarks/{id} |
---|
...
- Retrieve bookmark
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks/YzxuJIsBdHmpxQQKPSya
...
FA03 | Retrieve bookmarks
...
GET | /favourites/bookmarks |
---|
User permission required
...
- Retrieve all bookmarks by user
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks?userId=fachstelle_museum
- Retrieve all bookmarks by user and item ids
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks?userId=fachstelle_museum&itemIds=itemId________________________01
...
FA04 | Update bookmark
PUT | /favourites/bookmarks/{id} |
---|
...
- Update bookmark
- PUT https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks/YzxuJIsBdHmpxQQKPSya
...
FA05 | Delete bookmark
DELETE | /favourites/bookmarks/{id} |
---|
...
- Delete bookmark
- DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks/ZTxuJIsBdHmpxQQKUSwX
...
FA06 | Create folder
POST | /favourites/folders |
---|
User permission required
...
- Create folder
- POST https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders
...
FA07 | Add bookmark to folder
POST | /favourites/folders/{idfolderId}/bookmarks |
---|
User permission required
...
Name | Value | Occurence | Default | Required |
---|---|---|---|---|
bookmarkId | ID of bookmark to add | Once | - | Yes |
Status codes
- 200 = Bookmark added
- 400 = Bookmark ID not exist
- 401 = User is not authorized
- 404 = Folder ID not exist
- 500 = Internal server error
Related Use Case(s)
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"id": "TC07____________FL01",
"index": "folder",
"statusCode": 200,
"result": "updated"
} |
Status codes
- 200 = Bookmark added
- 400 = Bookmark ID not exist
- 401 = User is not authorized
- 404 = Folder ID not exist
- 500 = Internal server error
Related Use Case(s)
- UC02 | Assign bookmarks to selected lists
- A user stores bookmarks (additionally) in personal lists.
- UC08 | Copy bookmarks from All Favorites to personal lists
- A user copies bookmarks into personal lists.
- UC14 | Copy bookmarks to
- UC02 | Assign bookmarks to selected lists
- A user stores bookmarks (additionally) in personal lists.
- UC08 | Copy bookmarks from All Favorites to personal lists
- A user copies bookmarks into personal lists.
- UC14 | Copy bookmarks to another personal list
- A user copies bookmarks from a personal list to other personal lists.
- A user copies bookmarks from a personal list to other personal lists.
...
- Add bookmark to folder
- POST https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/ZjxwJIsBdHmpxQQKjyxB/bookmarks?bookmarkId=ZTxuJIsBdHmpxQQKUSwX
...
FA08 | Retrieve folder
GET | /favourites/folders/{id} |
---|
User permission required
Free access to published DDB folders and all NEWSPAPER folders
Login required for user folders
Remarks
- Endpoint could be used in 3 usage modes
Usage modes
Mode | Description | Login required |
---|---|---|
DDB | Retrieve published DDB folder | No |
Newspaper | Retrieve any Newspaper folder | No |
User | Retrieve user folder | Yes |
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "id": "73611165cc142ae53176707d5a92e8f3" "portal": "DDB", "title": "favorites", "description": "Das ist ein Test!", "userId": "fachstelle_museum", "publishingName": "xxx", "createdAt": 1682070216141, "updatedAt": 1683642142482, "bookmarksIds": [ "MESR_IcBosJ3rUWzhkJj", "rjzgAIgBdHmpxQQKvQHm" ], "institutionIds": [ "MESR_IcBosJ3rUWzhkJj" ], "blockingToken": "Test", "blocked": true, "published": true, "keywordTool": { "sentToAdmin": false } } |
...
- Retrieve folder
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/ZjxwJIsBdHmpxQQKjyxB
...
FA09 | Retrieve bookmarks of a folder
GET | /favourites/folders/{id}/bookmarks |
---|
User permission required
Response payload
Free access to published DDB folders and all NEWSPAPER folders
Login required for user folders
Remarks
- Endpoint could be used in 3 usage modes
Usage modes
Mode | Description | Login required |
---|---|---|
DDB | Retrieve bookmarks of published DDB folder | No |
Newspaper | Retrieve bookmarks of any Newspaper folder | No |
User | Retrieve bookmarks of an user folder | Yes |
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Code Block | ||||||||
| ||||||||
{ "query": "user:"73611165cc142ae53176707d5a92e8f3" AND folder:"p0Qyo4cBosJ3rUWznjiY"", "total": 4, "offset": 0, "size": 9999, "bookmarks": [ { "id": "rjzgAIgBdHmpxQQKvQHm", "itemId": "IVMX3IRHKU725WR2HHT6VY2AFFS72FGK", "description": "", "userId": "fachstelle_museum", "type": "CULTURAL_ITEM", "createdAt": 1683641908448, "updatedAt": 1683641908448, "keywordTool": { "done": False }, }, { "id": "nDxWtIgBdHmpxQQKNxNQ", "itemId": "IVMX3IRHKU725WR2HHT6VY2AFFS72FGK", "description": "Neues Lesezeichen", "userId": "fachstelle_museum", "type": "CULTURAL_ITEM", "createdAt": 1683641908448, "updatedAt": 1683641908448, "keywordTool": { "done": False }, } ] } |
...
- Retrieve bookmarks of folder
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/vJ2GGYsBYUgoK0Rzg70n/bookmarks
...
FA10 | Retrieve folders
GET | /favourites/folders |
---|
Free access to published DDB folders and all NEWSPAPER folders
User permission required
Query parameters
Login required for user folders
Remarks
- Endpoint could be used in 3 usage modes
Usage modes
Mode | Description | Possible params | Login required |
---|---|---|---|
Institution | Search folders by a DDB institution | Only institution param used | No |
Public | Search published DDB folders | Params not used | No |
User | Search user folders | Any combination of userId/portal/title | Yes |
Query parameters
Name | Value | Occurence | Default | Required | |
---|---|---|---|---|---|
userId | ID of user | ||||
Name | Value | Occurence | Default | Required | |
userId | ID of user | Once | - | At least userId or title required | |
portal | Name of used portal | Once | DDB | Optional for DDB, for other portals required | |
title | Title of folder | Once | - | At least userId or title required | |
institution | ID of institution | Once | - | Only ID of institution | |
offset | Beginn offset of results | Once-1 | 0 (Solr default is used) | Optional | |
size | Size data of results | Once | -1 | 10 (Solr default is used) | OptionalOptional |
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "query": "user:"73611165cc142ae53176707d5a92e8f3"", "total": 19, "offset": 0, "size": 9999, "folders": [ { "id": "Sjszo4cBdHmpxQQKUvah", "portal": "DDB", "title": "Schiller", "description": "", "userId": "fachstelle_museum", "publishingName": "dio", "createdAt": 1682070262371, "updatedAt": 1683642142787, "bookmarksIds": ["MUSR_IcBosJ3rUWzmkLU"], "institutionIds": Null, "blockingToken": "", "keywordTool": { "sentToAdmin": false }, "blocked": false, "published": true}, { "id": "rjwQKYgBdHmpxQQKKgSs", "portal": "DDB", "title": "favorites", "description": "Das ist ein Test!", "userId": "fachstelle_museum", "publishingName": "xxx", "createdAt": 1682070216141, "updatedAt": 1683642142482, "bookmarksIds": [], "institutionIds": none, "blockingToken": "Test", "keywordTool": { "sentToAdmin": false }, "blocked": true, "published": true } ] } |
...
- Retrieve folders by user
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders?userId=fachstelle_museum&portal=NEWSPAPER
- Retrieve folders by user and title
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders?userId=fachstelle_museum&portal=DDB&title=favorites
...
FA11 | Update folder
POST | /favourites/folders/{id} |
---|
User permission required
Remarks
- Only DDB portal: The folder favorites is protected and could not be modified.
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "id": "Sjszo4cBdHmpxQQKUvah", // Not used "portal": "DDB", // Required "title": "favorites", // Optional "description": "Das ist ein Test!", // Optional "userId": "fachstelle_museum", // Not used "publishingName": "xxx", // Optional "createdAt": 1682070216141, // Not used "updatedAt": 1683642142482, // Not used "bookmarksIds": [ // Optional "MESR_IcBosJ3rUWzhkJj", "rjzgAIgBdHmpxQQKvQHm" ], "institutionIds": [ // Optional "MESR_IcBosJ3rUWzhkJj" ], "blockingToken": "Test", // Optional "blocked": true, // Optional "published": true, // Optional "keywordTool": { // Optional "sentToAdmin": false } } |
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "id": "Sjszo4cBdHmpxQQKUvah", "portal": "DDB", "title": "favorites", "description": "Das ist ein Test!", "userId": "fachstelle_museum", "publishingName": "xxx", "createdAt": 1682070216141, "updatedAt": 1683642142482, "bookmarksIds": [ "MESR_IcBosJ3rUWzhkJj", "rjzgAIgBdHmpxQQKvQHm" ], "institutionIds": [ "MESR_IcBosJ3rUWzhkJj" ], "blockingToken": "Test", "blocked": true, "published": true, "keywordTool": { "sentToAdmin": false } } |
...
- Update folder
- POST https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/wJ2JGYsBYUgoK0RzI71_
...
FA12 | Delete folder
DELETE | /favourites/folders/{id} |
---|
User permission required
Remarks
- Only DDB portal: The folder favorites is protected and could not be deleted here.
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "id": "TC12____________FL01", "index": "folder", "statusCode": 200, "result": "deleted" } |
...
- Delete folder
- DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/wJ2JGYsBYUgoK0RzI71_
...
FA13 | Remove bookmark from folder
DELETE | /favourites/folders/{id}/bookmarks/{bookmarkId} |
---|
User permission required
Remarks
- The folder ID and bookmark ID must exist before deleting something.
- Only for DDB portal:A bookmark could not be deleted from the main folder (favorites), because this is done only if the bookmark is deleted (see Delete Bookmark).
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "id": "TC13____________FL01", "index": "folder", "statusCode": 200, "result": "updated" } |
...
- Delete bookmarks from folder
- DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/wJ2JGYsBYUgoK0RzI71_/bookmarks/vp2GGYsBYUgoK0Rzh71c
...
FA14 | Delete all bookmarks and folders
DELETE | /favourites/folders |
---|
User permission required
Remarks
- This endpoint deletes all stored bookmarks and folders from a user for every portal.
Query parameters
Name | Value | Occurence | Default | Required |
---|---|---|---|---|
userId | ID of user to delete | Once | - | Yes |
Response payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "took": 0, "errors": false, "result": [ { "id": "TC14____________BM02", "index": "bookmark", "statusCode": 200, "result": "deleted" }, { "id": "TC14____________BM01", "index": "bookmark", "statusCode": 200, "result": "deleted" }, { "id": "TC14____________FL01", "index": "folder", "statusCode": 200, "result": "deleted" }, { "id": "TC14____________FL02", "index": "folder", "statusCode": 200, "result": "deleted" }, { "id": "TC14____________FL03", "index": "folder", "statusCode": 200, "result": "deleted" }, "index": "folder", "statusCode": 200, { "id": "TC14____________FL04", "index": "folder", "statusCode": 200, "result": "deleted" } ], "statusCode": 200, "statusMessage": "All folders and bookmarks for user <jean_paul> deleted" } |
Status codes
- 200 = Bookmarks and Folders deleted
- 401 = User not authorized
- 404 = No folders found for given User ID
- 500 = Internal server error
Related Use Case(s)
- A user deletes his account. Then the system first deletes all bookmarks in all lists of the user. Then all lists including favorites are deleted.
Example call(s)
- Delete all bookmarks and folders
- DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders?userId=fachstelle_museum
...
FA15 | Download newspaper pages as ZIP
POST | /favourites/download |
---|
User permission required
Remarks
- Only valid formats are possible. If an invalid format will be used, then the request will rejected with 400 Bad Request.
Request payload
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "bookmarkIds": [ "result": "deleted" }, { "TC15____________BM01", "id": "TC14TC15____________FL04BM02", "index": "folderTC15____________BM03", "statusCode": 200, "TC15____________BM04", "result": "deleted" "TC15____________BM05", }"TC15____________BM06" ], "statusCodeformats": 200, [ "TXT", "statusMessageCSV":, "All folders and bookmarks for user <jean_paul> deleted" }ALTO", "IMAGE" ] } |
Response payload
- ZIP file with requested formats:
- ALTO: Delivers ALTO files for every selected newspaper
- IMAGE: Delivers images for every selected newspaper
- TXT: Delivers text files with fulltext for every selected newspaper page
- CSV: Delivers one CSV summary for all pages
Status codes
- 200 = Bookmarks and Folders deletedZIP successfully created and delivered
- 400 = No valid bookmark id found (invalid IDs will be skipped)
- 401 = User not authorized
- 404 = No folders found for given User ID
- 500 = Internal server error
...
- A user deletes his account. Then the system first deletes all bookmarks in all lists of the user. Then all lists including favorites are deleted.
Example call(s)
- Download ZIP
- POST
- DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders?userId=fachstelle_museumdownload
...
API calls for Use Cases
...
- Model object to hold a bookmark (= favorites)
Remarks
- The possible types of a bookmark are:
- CULTURAL_ITEM | INSTITUTION | ENTITY | NEWSPAPER | ARTICLE
...