Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 

NameValueOccurenceDefaultRequired
folderIdsID of folder(s)Multiple-Yes, at least one folderId

...

Code Block
themeMidnight
titleBookmark object
linenumberstrue
collapsetrue
 {
	"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


^ Back to top

...

FA02 | Retrieve bookmark

GET

/favourites/bookmarks/{id}

...

  • Retrieve bookmark
    • GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks/YzxuJIsBdHmpxQQKPSya


^ Back to top

...

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


^ Back to top

...

FA04 | Update bookmark

PUT

/favourites/bookmarks/{id}

...

  • Update bookmark
    • PUT https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks/YzxuJIsBdHmpxQQKPSya


^ Back to top

...

FA05 | Delete bookmark

DELETE

/favourites/bookmarks/{id}

...

  • Delete bookmark
    • DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks/ZTxuJIsBdHmpxQQKUSwX


^ Back to top

...

FA06 | Create folder

POST

/favourites/folders

User permission required

...

  • Create folder
    • POST https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders


^ Back to top

...

FA07 | Add bookmark to folder

POST

/favourites/folders/{idfolderId}/bookmarks

User permission required

...

NameValueOccurenceDefaultRequired
bookmarkIdID of bookmark to addOnce-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
themeMidnight
titleResponse
linenumberstrue
collapsetrue
{
    "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.

...

  • Add bookmark to folder
    • POST https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/ZjxwJIsBdHmpxQQKjyxB/bookmarks?bookmarkId=ZTxuJIsBdHmpxQQKUSwX


^ Back to top

...

FA08 | Retrieve folder

GET

/favourites/folders/{id}

User permission required

Free access to published DDB folders and all NEWSPAPER folders

(warning) Login required for user folders

Remarks

  • Endpoint could be used in 3 usage modes

Usage modes

ModeDescriptionLogin required
DDBRetrieve published DDB folderNo
NewspaperRetrieve any Newspaper folderNo
UserRetrieve user folderYes

Response payload

Code Block
themeMidnight
titleFolder object
linenumberstrue
collapsetrue
{
	"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


^ Back to top

...

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

(warning) Login required for user folders

Remarks

  • Endpoint could be used in 3 usage modes

Usage modes

ModeDescriptionLogin required
DDBRetrieve bookmarks of published DDB folderNo
NewspaperRetrieve bookmarks of any Newspaper folderNo
UserRetrieve bookmarks of an user folderYes

Response payload

Code Block
themeMidnight
titleBookmarkResult object
Code Block
themeMidnight
titleBookmarkResult object
linenumberstrue
collapsetrue
{
	"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


^ Back to top

...

FA10 | Retrieve folders

GET

/favourites/folders

Free access to published DDB folders and all NEWSPAPER folders

User permission required

Query parameters

(warning) Login required for user folders

Remarks

  • Endpoint could be used in 3 usage modes

Usage modes

ModeDescriptionPossible paramsLogin required
InstitutionSearch folders by a DDB institution

Only institution param used

No
PublicSearch published DDB foldersParams not usedNo
UserSearch user foldersAny combination of userId/portal/titleYes

Query parameters

NameValueOccurenceDefaultRequired
userIdID of user
NameValueOccurenceDefaultRequired
userIdID of userOnce-At least userId or title required
portalName of used portalOnceDDBOptional for DDB, for other portals required
titleTitle of folderOnce-At least userId or title required
institutionID of institutionOnce-Only ID of institution
offsetBeginn offset of resultsOnce-10 (Solr default is used)Optional
sizeSize data of resultsOnce-110 (Solr default is used)OptionalOptional

Response payload

Code Block
themeMidnight
titleFolderResult object
linenumberstrue
collapsetrue
{
	"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


^ Back to top

...

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
themeMidnight
titleFolder object
linenumberstrue
collapsetrue
 {
	"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
themeMidnight
titleFolder object
linenumberstrue
collapsetrue
{
	"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_


^ Back to top

...

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
themeMidnight
titleResponse
linenumberstrue
collapsetrue
{
    "id": "TC12____________FL01",
    "index": "folder",
    "statusCode": 200,
    "result": "deleted"
}

...

  • Delete folder
    • DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders/wJ2JGYsBYUgoK0RzI71_


^ Back to top

...

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
themeMidnight
titleResponse
linenumberstrue
collapsetrue
{
    "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


^ Back to top

...

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

NameValueOccurenceDefaultRequired
userIdID of user to deleteOnce-Yes

Response payload

Code Block
themeMidnight
titleResponse
linenumberstrue
collapsetrue
{
    "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


^ Back to top

...

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
themeMidnight
titleDownloadRequest object
linenumberstrue
collapsetrue
{
    "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 all bookmarks and folders
    • DELETE https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/folders?userId=fachstelle_museumdownload


^ Back to top

...

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

...