Welcome to the documentation of the Picturae Webkitchen components, on this website you can find information how to implement our components on your own website.
You can also try the demo to see how our application should behave. In case you have any questions you can contact us at contact@picturae.com.
The following page gives information about the available recipes and their ingredients.
Capture all OPTIONS requests
Search media, this endpoint receives the following parameters, use filter values without the {} signs
q={searchterm} global search term could search on specific fields e.g. field:{term}
page={number} result offset
rows={number} amount of rows to return in resultset, default 100 max 1000
facetFields[]={field1} Field to return facets for
facetFields[]={field2} Field to return facets for
facetLimit={int} Amount of filters to return
fq[]={field1:"value x"} Apply filter to query
fq[]={field2:"value y"} Apply filter to query
qf={title^20.0+text^10.0} Apply boosting per field to improve search results
bq={title:"bla"^20} Apply boost query improve search results
sort={field asc, field2 desc} sort by field, to generate a random result it is possible to order on random{time} asc
lang={val} Two character language (if available e.g nl
f[{field}][{param}]={value} Field parameter override
f[field]['facet.sort'] = 'count or index' to sort a facet
Example request: /media/?apiKey={key}&q=*:*&page=1&rows=1&facetFields[]=string_s_v1_uiterlijke_vorm&facetFields[]=strings_s_v1_vervaardigers&facetLimit=2&fq[]=string_s_v1_uiterlijke_vorm:"foto's"
Errors will always be shown in error property example:
{ "error": {
"code": 400,
"message": "undefined field: \"strinxg_s_v1_uiterlijke_vorm\""
}}
Get detail of media object Request: Example /media/{id}?apiKey={key} Response: Required properties media.id is always returned example response is:{ media: { { id: "0031bb22-66f5-11e3-90a8-836b6c51694e", image: ["3475fb86-1490-46ab-512c-9a7d7d094bc5.jpg"], metadata: { 'field': { label: "Some label" value: "Some value" } } asset: [ { "uuid": "ec82bd5f-35f6-3e51-8cff-4e539b75a9fc", "name": "WAT120003777.tjp", "mimetype": "image/tjp", "thumb": { "small": "https://images.memorix.nl/wat/thumb/100x100/ec82bd5f-35f6-3e51-8cff-4e539b75a9fc.jpg", "medium": "https://images.memorix.nl/wat/thumb/250x250/ec82bd5f-35f6-3e51-8cff-4e539b75a9fc.jpg", "large": "https://images.memorix.nl/wat/thumb/640x480/ec82bd5f-35f6-3e51-8cff-4e539b75a9fc.jpg" }, "topview": "http://images.memorix.nl/wat/topviewjson/memorix/ec82bd5f-35f6-3e51-8cff-4e539b75a9fc" } ] } } }
Errors will always be shown in error property example:{ "error": { "code": 400, "message": "undefined field: \"strinxg_s_v1_uiterlijke_vorm\"" } }
Autocomplete method, the returned result will always be over all documents
q={keyword}
Example response will be as following:
/media/autocomplete?q=co
{
autocomplete: {
"co": {
"suggestion": [
"collectie",
"cornelis"
]
}
},
"term2": {
"suggestion": [
"collectie",
"cornelis"
]
},
"collation": "collectie"
}
}
Provides info about filterable & search fields Request: Example /media/field/?apiKey={key} example response: { "fields": { "field": { "order": "order_s_omschrijving", "search": "search_t_omschrijving", "facet": "search_s_omschrijving" } } }
serves a file downloaded from the imageserver, depends on search_s_download_type in the solr document which should contain a value for the config to use.
q={searchterm} global search term could search on specific fields e.g. field:{term}
page={number} result offset
rows={number} amount of rows to return in resultset, default 100 max 1000
sort={field asc, field2 desc} sort by field, default order_i_ordering desc
Example request: /media/assets/{uuid}?apiKey={key}&page=1&rows=10&sort=order_i_ordering%20%asc
Errors will always be shown in error property example:
{ "error": {
"code": 400,
"message": "undefined field: \"strinxg_s_v1_uiterlijke_vorm\""
}}
Refresh metadata from record, refresh is currently only supported for data from maior This endpoint is limited to 1 request every 5 seconds Request: POST /media/refresh/?apiKey={key}&entity={uuid}&id={uuid} example response: 200 { "msg": "Record metadata refreshed" }
Get detail of media object Request: Example /media/{id}?apiKey={key} Response: Required properties media.id is always returned example response is:{ media: { { id: "0031bb22-66f5-11e3-90a8-836b6c51694e", image: ["3475fb86-1490-46ab-512c-9a7d7d094bc5.jpg"], metadata: { 'field': { label: "Some label" value: "Some value" } } asset: [ { "uuid": "ec82bd5f-35f6-3e51-8cff-4e539b75a9fc", "name": "WAT120003777.tjp", "mimetype": "image/tjp", "thumb": { "small": "https://images.memorix.nl/wat/thumb/100x100/ec82bd5f-35f6-3e51-8cff-4e539b75a9fc.jpg", "medium": "https://images.memorix.nl/wat/thumb/250x250/ec82bd5f-35f6-3e51-8cff-4e539b75a9fc.jpg", "large": "https://images.memorix.nl/wat/thumb/640x480/ec82bd5f-35f6-3e51-8cff-4e539b75a9fc.jpg" }, "topview": "http://images.memorix.nl/wat/topviewjson/memorix/ec82bd5f-35f6-3e51-8cff-4e539b75a9fc" } ] } } }
Errors will always be shown in error property example:{ "error": { "code": 400, "message": "undefined field: \"strinxg_s_v1_uiterlijke_vorm\"" } }
Refresh metadata from record, refresh is currently only supported for data from maior This endpoint is limited to 1 request every 5 seconds Request: POST /media/refresh/?apiKey={key}&entity={uuid}&id={uuid} example response: 200 { "msg": "Record metadata refreshed" }
List filters, this endpoint receives the following parameters: q={searchterm} global search term could search on specific fields e.g. field:{term} page={number} result offset rows={number} amount of rows to return in resultset, default 100 max 1000 fq[]={field1:"value x"} Apply filter to query fq[]={field2:"value y"} Apply filter to query facetSort={index, count} Index will sort filters by ascii value, count will sort the filters by result lang={val} Two character language (if available e.g nl) Example request: /filter/{filter_field}?apiKey={key}&q=*:*&page=1&rows=1
List filters, this endpoint receives the following parameters: q={searchterm} global search term could search on specific fields e.g. field:{term} page={number} result offset rows={number} amount of rows to return in resultset, default 100 max 1000 fq[]={field1:"value x"} Apply filter to query fq[]={field2:"value y"} Apply filter to query facetSort={index, count} Index will sort filters by ascii value, count will sort the filters by result lang={val} Two character language (if available e.g nl) Example request: /filter/{filter_field}?apiKey={key}&q=*:*&page=1&rows=1
Get detail of theme object Request: Example /theme/0031bb22-66f5-11e3-90a8-836b6c51694e?apiKey=8b896a87-ca04-44a7-9fb3-270102e28d97 Response: Required properties theme.id is always returned example response is:{ theme: { { "id": "77e3b62a-66f5-11e3-989f-13c99c793129", "title": "Winter", "subject": "Winter", "description": "Winter in Waterland: historische beelden van sneeuwduinen, kruiend ijs, ingevroren vissersschepen en het in de sneeuw vastgelopen boemeltje van Purmerend.", "tags": [ ], "media": [ { "file": "0c900ef2-366a-4d60-b665-43b3beac29d8", "name": "WAT002002435", "mimetype": "image/tjp", "thumb": { "small": "https://images.memorix.nl/wat/thumb/100x100/0c900ef2-366a-4d60-b665-43b3beac29d8.jpg", "medium": "https://images.memorix.nl/wat/thumb/250x250/0c900ef2-366a-4d60-b665-43b3beac29d8.jpg", "large": "https://images.memorix.nl/wat/thumb/640x480/0c900ef2-366a-4d60-b665-43b3beac29d8.jpg" }, "links": { "media": "http://mediabank.zend.picturae.pro/media/beeda450-66f4-11e3-b2b3-87007032ba84" } } ] } } }
Errors will always be shown in error property example:{ "error": { "code": 400, "message": "undefined field: \"strinxg_s_v1_uiterlijke_vorm\"" }}
Search theme's, this endpoint receives the following parameters, use filter values without the {} signs
q={searchterm} global search term could search on specific fields e.g. field:{term}
page={number} result offset
rows={number} amount of rows to return in resultset, default 100 max 1000
facetFields[]={field1} Field to return facets for
facetFields[]={field2} Field to return facets for
fq[]={field1:"value x"} Apply filter to query
fq[]={field2:"value y"} Apply filter to query
Example request: /theme/?apiKey=8b896a87-ca04-44a7-9fb3-270102e28d97&q=*:*&page=1&rows=1&facetFields[]=tags&facetFields[]=strings_s_v1_vervaardigers&facetLimit=2&fq[]=string_s_v1_uiterlijke_vorm:"foto's"
Errors will always be shown in error property example:
{ "error": {
"code": 400,
"message": "undefined field: \"title_x\""
}}
Show predefined config for the client this endpoint receives the following parameters: lang={language} Optional language Example request: /config/{config-id}?apiKey={key}&lang=nl
List all available predefined config for the client to use, the following parameters are available: lang={language} Optional language meta={0(default)|1} Return the list of metafields for the configuration. Request: Example /config/?apiKey={key}&lang=nl&meta=1
Get streaming details for specific assets Request: Example /smil/{id}/{asset}.smil?apiKey={key}
Request Authorization tocken from the api. This endpoint is accessible only for POST requests. Required Parameters: handshakeKey={client handshake key to the api} Example Request: POST /auth?apiKey={apiKey} handshakeKey=111111-1111-1111-1111-00000 Example Successful Return: { "status" = 0, "data" => {unique uuid} "msg" => '' } Use the returned in the data uuid for the future requests to mediabank. Note: Handshake Key should be secret! Dunno use it as GET parameter.
Request Pdf export, this endpoint receives the following parameters, use filter values without the {} signs
header={header-uuid} Record details to be used as PDF-header
email={email-address} Email address where the client will recieve the details about the created pdf
q={searchterm} global search term could search on specific fields e.g. field:{term}
page={number} result offset
rows={number} amount of rows to return in resultset, default 100 max 1000
fq[]={field1:"value x"} Apply filter to query
fq[]={field2:"value y"} Apply filter to query
lang={val} Two character language (if available e.g nl)
Example request:
/media/pdf?apiKey={key}&q=search_s_searchfield:"inventaris"&page=2&rows=30&fq[]=string_s_collection:"foto's"
Errors will always be shown in error property example:
{
"error": {
"code": 400,
"message": "undefined field: \"string_s_collection\""
}
}
Fetch a previously generated file. This is NOT A restful action. This endpoing is being used to serve files when the e-mail notifications about exports are being sent. The urls's are generated in the export gearman. Example request: /download/{uuid}.{pdf|csv}?apiKey={key} to be improved. As far as I could see it fatal errors on bad file.
Fetch comments
Example request: /{id}/?apiKey={key}
Errors will always be shown in error property example:
{
"error": {
"code": 400,
"message": "Could not find the requested record."
}
}
Add an error report.
Data is expected in the POST.
id={id} ID of the record tht is being commented. Usually a deed.
name={val} Name of the user who wrote the report.
email={val} Email of the user who wrote the comment.
subject={val} Subject/summary of the entered report.
body={val} Full body of the entered report.
Errors will always be shown in error property example:
{
"error": {
"code": 400,
"message": "Could not find the requested record."
}
}