Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Search for content available to a specific user. The result may also include public content.

 

Endpoint ID:

9004

Method:

URL:

/user/dp-key/{dp-key}/content/search
/user/ext-key/{ext-key}/{ext-type}/content/search

 dp-keydialogportal™ master key that uniquely identifies the account to find content for.
 ext-keyExternal key that uniquely identifies the account to find content for.
 ext-typeType of external key

Request body:

A JSON object describing the search parameters.

Required fields:
 tagsAn array of tags
Optional fields:
 limitThe maximum number of content to return. If omitted, "limit" is set to 1.
 offsetThe 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.
 preferPrivateWhen true, private content will be returned before public content. If omitted, "preferPrivate" is set to "false".
 data

An array of data filters. All filters are applied, so the example below could be read as "data with key 'a' between 5.1 and 5.9, where there is no 'x' data"

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

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

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.

Example
{
   "tags": [ "tag1", "tag2" ],
   "preferPrivate": false,
   "fromDate": "2014-01-01T01:00Z",
   "limit": 2,
   "offset": 10,
   "data": [
      {
         "key": "a",
         "compare": ">=",
         "compareValue": 5.1
      },
      {
         "key": "a",
         "compare": "<=",
         "compareValue": 5.9
      },
      {
         "key": "x",
         "compare": "isempty"
      }
   ]
}

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.

Example
{
   "content": [
      {                                        /* public content - no dpKey   */
         "tags": [ "tag1", "tag2" ],
         "content": "PGh0bWw+PGJvZHk+TW9yZSBIVE1MIGNvbnRlbnQ8L2JvZHk+PC9odG1sPg==",
         "contentType": "text/html",
         "data": {
            "width": "300px",
            "height": "50px",
            "a": 5.5,
            "b": 15
         },
         "created": "2014-02-10T12:53:42Z",
         "activeFrom": "2014-03-01T12:00:00Z",
         "activeTo": "2014-03-08T12:00:00Z"
      },
      {                                        /* private content - has dpKey */
         "dpKey": 12345,
         "tags": [ "tag1", "tag2", "tag3" ],
         "content": "PGh0bWw+PGJvZHk+SFRNTCBjb250ZW50PC9ib2R5PjwvaHRtbD4=",
         "contentType": "text/html",
         "data": {
            "a": 5.9
         },
         "created": "2014-02-08T09:00:34Z"
      }
   ],
   "paging": {
      "offset": 10,
      "count": 2,
      "more": true
   }
}

Status codes:

200

OK

 404.1User not found
 404.2External user could not be found
 404.4

No Content found

  • No labels