Product Files Tests
The Product Files Tests resource provides an endpoint for reading, searching and writing the result(s) of a file test (e.g. the result of the tool epubcheck
or pdftools
for pre-flight-checks)
URL:
https://api.openpublishing.com/resource/v3/products/[ID]/files/[ID]/tests
https://api.openpublishing.com/resource/v3/products/[ID]/files/[ID]/tests/[ID]
Supported methods:
POST
to products/[ID]/files/[ID]/tests
for storing the test result of a test
The payload in the body contains the test result in the following JSON object:
result
(string): the result of the test:passed
: the test passed successfullyfailed
: the test did not pass, it contains errorstype
(string) [mandatory]: type/name of the test (e.g.epubcheck
,pdftoolbox
)checked_at
(numeric): UNIX timestamp when the test was executedduration_in_ms
(numeric): execution time in millisecondsmessages
(array): list of all message objects returned by test, that have the following format:check
(string): type of the message:info
: general informationwarning
: warning messageerror
: error message (if set, the test is considered asfailed
)
text
(string): text message
PUT
to products/[ID]/files/[ID]/tests/[ID]
to overwrite information of a specific test
DELETE
to products/[ID]/files/[ID]/tests/[ID]
to delete a specific test
GET
to products/[ID]/files/[ID]/tests/[ID]
for retrieving information about a specific test
GET
to products/[ID]/files/[ID]/tests
for retrieving information about all tests
GET
to products/[ID]/files/[ID]/tests?[search parameters]
for retrieving information about specific tests:
type
(string): searches for all tests of the specific type (e.g.epubcheck
)result
(string): searches for all tests with a specific result (e.g.failed
)errors
(boolean): iftrue
searches for all tests with errors otherwise for all tests without errorswarnings
(boolean): iftrue
searches for all tests with warnings otherwise for all tests without warnings
Example JSON
{
"result": "passed",
"type": "epubcheck",
"checked_at": 1667337197,
"duration_in_ms": 1859,
"messages": []
}
{
"result": "failed",
"type": "epubcheck" ,
"checked_at": 1667337197,
"duration_in_ms": 1859,
"messages": [
{
"check": "info",
"text": "Validating using EPUB version 2.0.1 rules."
},
{
"check": "error",
"text": "The EPUB 9781234567897.epub contains errors and could not be validated: Validating using EPUB version 2.0.1 rules.\nERROR(CSS-010): /storage/document/1249/1249573/9781234567897.epub/OEBPS/Text/content-2xhtml(8,110):\nStylesheet of type other than \"text/css\" must have a fallback."
}
]
}
{
"result": "passed",
"type": "antivirus",
"checked_at": 1667337197,
"duration_in_ms": 1859,
"messages": [
{
"check": "warning",
"text": "9781234567897.epub: contains executable JavaScript code."
}
],
}
Example GET URLs
https://api.openpublishing.com/resource/v3/products/12345/files/678/tests
https://api.openpublishing.com/resource/v3/products/12345/files/6789/tests/9876
https://api.openpublishing.com/resource/v3/products/12345/files/678/tests?result=failed
https://api.openpublishing.com/resource/v3/products/12345/files/678/tests?warnings=true
https://api.openpublishing.com/resource/v3/products/12345/files/678/tests?type=epubcheck&result=failed