Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Extend data priority sorting


Excerpt

Public Search for publicly available content search

 


Endpoint ID:

9005

Method:

Image Modified

URL:

POST

/

data

content/

content

tagged/search

Request body:

JSON data with information about the content to be searched 

compareValue2:

Required if "compare" has value "between"

Optional fields: tags:JSON array of Tags. fromDate:Date value defining content active start date. The date must be in UTC, for example "2014-01-01T01:00Z".

A JSON object describing the search parameters.

Required fields:
 

compareValue1:

Required if "compare" has value. Possible valid values of "compare" are ["=", "<", ">", "<=", ">=", "between"]

tagsAn array of tags
Optional fields:
 limit
:
The maximum number of content to return. If omitted, limit is set to 1.
 offset
:
The offset in search results from where to return data. If omitted, offset is set to 0.
 fromDateUTC date used to filter search results by the content activeFrom date if it exists, or otherwise the created date.
 
compare:Defines logical operator to be applied for search criteria. Possible valid values are ["=", "<", ">", "<=", ">=","between", "empty", "notempty"]
toDateUTC date used to filter search results by the content activeTo date. Content with no activeTo date will always be included.
 data

An array of data filters. All filters are applied, so the example below could be read as "data with key 'a' greater than 5.1, where data with key 'width' is not equal to '250px'"

keyThe data key that is to be matched
compareThe comparison operator. Possible compare options are:
= != < > <= >= empty notempty
compareValue

String or decimal comparison value. Required for all comparison operators except empty and notempty.

Note

String data values will only be compared with string filter values, and numeric data values will only be compared with numeric filter values. So ensure that numeric values are entered as numbers, i.e. 5.9 not "5.9".

Numeric values are not culture-specific. Use period "." as decimal separator, and do not use thousand separators.




priorities

An array of data filters used to sort content. Similar to data filters, except that where data filters exclude content, priorities change the order of content, prioritizing content whose data match the filter or sorting content by data value.

keyThe data key that is to be matched
compareThe comparison operator. Possible compare options are:
= != < > <= >= asc desc
compareValue

String or decimal comparison value. Required for all comparison operators except asc and desc.

Note

String data values will only be compared with string filter values, and numeric data values will only be compared with numeric filter values. So ensure that numeric values are entered as numbers, i.e. 5.9 not "5.9".

Numeric values are not culture-specific. Use period "." as decimal separator, and do not use thousand separators.




Code Block
titleExample
{
   "tags": [ "tag1", "tag2" ],
   "fromDate": "2014-01-01T01:00Z",
// optional - ISO UTC date

   "limit": 2,
   "offset": 10,
   "data": [
      {
         "key": "a",
    
//
 
optional
 
-
 
default
 
to
 
1
"
offset
compare": 
10
">",
         "compareValue": 5.1
      },
      
// optional - default to 0
{
         "
compare
key": "
between
width",
         
"compare": "!=",
       
//
 
optional
 
[
"
=
compareValue"
,
: "
<
250px"
,

">",
 
"<=",
 
">=",
    }
   ],
   "priorities": [
      {
         "key": "b",
         "compare": ">",
     
//
    "
between
compareValue"
, "empty", "notempty"]
: 10
     
"compareValue1": 5.1
 },
      {
         "key": "a",
      
//
 
required
 
for
 "compare": "desc"
      }
   ]
}


Response body:

JSON data with an array of content. The result will also contain a paging object detailing the number of content items returned, the offset and whether there are more items than the ones returned.

Code Block
titleExample
{
   "content": [
      {
         "tags": [ "tag1", "tag2" ],
        
//
 
["=", "<", ">", "<=", ">=", "between"]
"content": "PGh0bWw+PGJvZHk+TW9yZSBIVE1MIGNvbnRlbnQ8L2JvZHk+PC9odG1sPg==",
         "contentType": "text/html",
         "
compareValue2
data": 
5.9
{
            "width": "300px",
         
//
 
required
 
for
 "
compare
height": "
between
50px"
}

Response body:

JSON data with information about the content searched.

Code Block
titleExample
{
,
     
"content":
 
[
      
{
"a": 5.5,
         
"tags":
 
[
 
"tag1",
 "
tag2
b": 
],
15
         
"contentType": "text/html"
},
         "
content
created": "
base64 encoded content string
2014-02-10T12:53:42Z",
         "
created
activeFrom": "2014-
02
03-
10T12
01T12:00:
53Z
00Z",
         "
value
activeTo": 
19.5
"2014-03-08T12:00:00Z"
      },
      {
         "tags": [ "tag1", "tag2", "tag3" ],
         "content": "PGh0bWw+PGJvZHk+SFRNTCBjb250ZW50PC9ib2R5PjwvaHRtbD4=",
         "contentType": "text/html",
         "
content
data": 
"base64 encoded content string"
{
            "a": 5.9,
            "width": "200px"
         },
         "created": "2014-02-
02T15
08T09:00:
02Z
34Z"
      }
   ],
   "paging": {
      "offset": 10,
      "count": 2,
      "more": true
   }
}


Status codes:200OK
 404.
1
4
User
Content not found
 404.2External user could not be found

 

 

...