Versions Compared

Key

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

...

To create a new object. On success, the method always returns the internal object id of the newly created objectParameters:
{

Code Block
languagejs
titleParameters
{
    "attrs":{list of attribute value pairs}
}

...


Code Block
languagejs
titleResponse

...

{

...


    "result":{"id":the id of the newly created object}

...


}


Examples:
Method:/user/create

Code Block
languagejs
titleParameters

...

{

...


    "attrs":

...


    {
        "domain.id":2,

...


         "name":"John Smith",

...


         "email":"js@acme.com"

...


    }
}


Code Block
languagejs
titleResponse
{
    "error":0,
    "result":{"id":

...

"1234567890abcd"}

...


}



Method:/token/create

Code Block
languagejs
titleParameters
{
    "attrs":
    {
        "user.id":"user id",
        "product.id":"product id"
    }
}


Code Block
languagejs
titleResponse
{
    "error":0,
    "result":{"id":

...

"1234567890abcd"}
}


Anchor
_Toc341972292
_Toc341972292
/
Anchor
_Toc315972316
_Toc315972316
object/delete

To delete an object. The request parameter MUST be the internal id of the object to be deleted. On success the method returns error 0.
Parameters: {"id":the id of the object to be deleted}
Response: {"error":0}
Example:
Method:/user/deleteParameters: {

Code Block
languagejs
titleParameters
{
    "id":

...

"1234567890abcd"
}


Code Block
languagejs
titleResponse

...

{
    "error":0
}


Anchor
_Toc341972293
_Toc341972293
/
Anchor
_Toc315972317
_Toc315972317
object/get

...

To

...

retrieve

...

the

...

object's

...

attributes.

...

The

...

request

...

must

...

provide

...

an

...

array

...

of

...

attributes

...

that

...

are

...

to

...

be

...

retrieved.

...

On

...

success

...

the

...

method

...

returns

...

a

...

list

...

of

...

attribute

...

value

...

pairs. 

Code Block
languagejs
titleParameters
{
     
Parameters: 
\{
"match":\[array of expressions\],
    "return":\[array of attribute names\]
}


Code Block
languagejs
titleResponse
{
    \}
Response: \{"result":\{list of attribute pairs\}\
}

See

...

/object/search

...

for

...

the

...

description

...

of

...

match

...

expression

...

and

...

conditions.

...

+Example:+

Code Block
languagejs
titleParameters
{
    "match":
    [
         
Method:/user/get
Parameters: 
\{
"Match":\["id","=",10\"userid"]
    ],
    "return":\["name","email","phone"\]
}


Code Block
languagejs
titleResponse
{
    \}
Response: 
\{
"error":0,
    "result":
\    {
        "name":"JohnSmith",
        "email":"js@acme.com",
        "phone":"442088654321"
\    }
\}
\\

Notes:

...

To

...

return

...

all

...

simple

...

type

...

attributes,

...

use

...

"*"

...

in

...

the

...

return

...

array.

...

(Object

...

and

...

collection

...

attribute

...

has

...

to

...

be

...

specified

...

explicitly)


Anchor
_Toc341972294
_Toc341972294
/
Anchor
_Toc315972318
_Toc315972318
object/set

To set the object's attributes. The request must provide a list of attributes and values that are to be set. On success the method returns error 0.

Code Block
languagejs
titleParameters

...

{

...


    "id":"the id of the object to be edited",

...


    "attrs":{list of attribute pairs}
}

...


Code Block
languagejs
titleResponse

...

{
    "error":0
}


Example:
Method:/user/set

Code Block
languagejs
titleParameters

...

{

...


    "id":

...

"user id",
    "attrs":

...


    {
        "name":"John Smith",

...


        "email":"js@acme.com"

...


    }
}


Code Block
languagejs
titleResponse
{
    "error":0
}

Anchor
_Toc341972295
_Toc341972295
/
Anchor
_Toc315972319
_Toc315972319
object/search

...

  • the name of the attribute
  • the operator
  • the value to be matched

...


For

...

example:

...

["id","=",

...

2

...

]

...

Matching

...

operators

...

supported:

...

String operators:
OperatorFunction
=equals to
>>starts with
<<ends with
~=like
likelike


Code Block
languagejs
titleExample
{
    "match":[
          operators:
 =  equals to
 like  like
 examples:
\["firstName","=", "john"\]
\,
         ["email","like", "j%acme.com"\]
    ]
}
Integer operators:
OperatorFunction
=equals to
>=greater than or equals to
<=less than or equals to
>greater than
<less than


Code Block
languagejs
titleExample
{
    "match":[
         ["failCount",">", "3"]
    ]
}


Date operators:
OperatorFunction
=equals to
>after
<before


Code Block
languagejs
titleExample
{
    "match":[
         ["lastChangePassword", "<", "2019 operators:
 =  equals to
 <  less than
 >  greater than
examples:
\["age","=", 45\] 
\["weight","<", 110\]
\["size",">", 42\]
Date operators:
 =  equals to
 <  before
 >  after
examples:
\["lastModified","=", "2009-08-20T00:00:00Z"\]
\["created","<", "2009-01-12T12:00:00Z"\]
\["deleted",">", "2008-08-21T08:00:00Z"\]
 Notes: all date value should be in ISO 8601 format.
Parameters: 
\{
    ]
}

Notes: all date value should be in ISO 8601 format.


Request parameters and response:


Code Block
languagejs
titleParameters
{
    "match":\{ [list of attributes to be matched\}]
    "return":\[array of attributes to be returned\]
    "sort": attribute to be sorted by
    "order":"asc" | "desc"
    "max": the maximum numbers of records to return
    "offset": the offset
\}
Response: \{}


Code Block
languagejs
titleResponse
{
    "error": 0,
    "result":\[array of list of attributes\objects]\
}
+Example+


Example:

Method:/user/search

Code Block
languagejs
titleParameters
{
   
Parameters: 
\{
 "match":
\ [
        \["domain.id", "=", 2\"domain id"],
\        ["lastnamelastName", "=", "smith"\],
\        ["email", "like~=", "[%@acme.com|mailto:%25@acme.com]"\],
\    ],
    "return":\["firstnamefirstName", "lastnamelastName", "email", "phonetelephone"\],
    "sort":"lastnamelastName",
    "order":"asc",
    "max": 20,
    "offset": 10
\}
Response: 
\{
}


Code Block
languagejs
titleResponse
{
    "error": 0,
    "result":
\    {
        "total": 20,
        "rows":
\        [
 \             {
   "firstname              "firstName":"John",
     "lastname            "lastName":"Smith",
                 "email":"js@acme.com",
                 "phonetelephone":"447974321234",
\             },
 \{
               {
                 "firstname":"David",
                 "lastname":"Smith",
                 "email":"ds@acme.com",
        "phone         "telephone":"447974234975",
\}
\]
\}
\}
\\
// a failed response
\{
"error":101,
"message":"user not found"
\}
-------------------------------------------------------------------
             },
             ...
        ]
    }
}


Method:/token/search

Code Block
languagejs
titleParameters
{
   
Parameters: 
\{
 "match":
\ [
        \["userproduct.id", "=", 2\]
\["category", "=", "OTP"\]
\],
"product id"]
    ],
    "return":\["serial"\],
    "sort":\["serial"\]
\}
Response: 
\{
,
    "order":"asc",
    "max": 20,
    "offset": 10
}


Code Block
languagejs
titleResponse
{
    "error": 0,
    "result":
\    {
        "total":4 20,
        "rows":
\[
 \        [
              {"serial":"77004155"\},
 \              {"serial":"77004245"\},
 \              {"serial":"77004266"\},
 \              {"serial":"77004321"\},
\]
\}
\}
 \\              ...
        ]
    }
}