Versions Compared

Key

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

Anchor
_Toc315972314
_Toc315972314
Anchor
_Toc341972290
_Toc341972290
Common Methods

/object/create

To create a new object.

/object/delete

To delete an object.

/object/get

To retrieve the object's attributes.

/object/set

To set the object's attributes.

/object/search

To retrieve a collection of objects.


Where "object" is the name of the object

Anchor
_Toc341972291
_Toc341972291
/
Anchor
_Toc315972315
_Toc315972315
object/create

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

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/delete Parameters: {

Code Block
languagejs
titleParameters
{
    "id":

...

"1234567890abcd"
}


Code Block
languagejs
titleResponse

...

{
    "error":0
}


Anchor
_Toc341972293
_Toc341972293
/
Anchor
_Toc315972317
_Toc315972317
object/get

Wiki MarkupTo 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. Parameters: \{  

Code Block
languagejs
titleParameters
{
    "match":

...

[array of expressions

...

],
    "return":

...

[array of attribute names

...

]

...

}


Code Block
languagejs
titleResponse
{
    "result":

...

{list of attribute pairs

...

}

...


}

See /object/search for the description of match expression and conditions.

+Example:+ Method:/user/get Parameters: \{ "Match":\

Code Block
languagejs
titleParameters
{
    "match":
    [
         ["id","=",

...

"userid"]
    ],
    "return":

...

["name","email","phone"

...

]

...

}


Code Block
languagejs
titleResponse
{
    "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

To retrieve a collection of objects. The request must provide a search query which consists of the following parts:

...

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


Wiki MarkupFor example: \

["id","=",

...

2

...

]

Matching operators supported:

String

...

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


Code Block
languagejs
titleExample
{
    "match":[
         ["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-01-12T12:00:00Z"

...

]

...

    ]
}

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

...

}


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

...

[array of list of 

...

objects]

...


}

...


Example:

Method:/user/search

...

Code Block
languagejs
titleParameters
{
    "match":

...

 [
        

...

["domain.id", "=", 

...

"domain id"],

...

        ["

...

lastName", "=", "smith"

...

],

...

        ["email", "

...

~=", "

...

%@acme.com

...

"

...

],

...

    ],
    "return":

...

["

...

firstName", "

...

lastName", "email", "

...

telephone"

...

],
    "sort":"

...

lastName",
    "order":"asc",
    "max": 20,
    "offset": 10

...

}


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

...

    {
        "total": 20,
        "rows":

...

        [

...

             {
   

...

              "firstName":"John",
     

...

            "lastName":"Smith",
                 "email":"js@acme.com",
                 "

...

telephone":"447974321234",

...

             },

...

             {
                 "firstname":"David",
                 "lastname":"Smith",
                 "email":"ds@acme.com",
        

...

         "telephone":"447974234975",

...

             },
             ...
        ]
    }
}


Method:/token/search

...

Code Block
languagejs
titleParameters
{
    "match":

...

 [
        

...

["

...

product.id", "=", 

...

"product id"]
    ],
    "return":

...

["serial"

...

],
    "sort":

...

"serial"

...

,
    "order":"asc",
    "max": 20,
    "offset": 10
}


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

...

    {
        "total":

...

 20,
        "rows":

...

        [
              {"serial":"77004155"

...

},

...

              {"serial":"77004245"

...

},

...

              {"serial":"77004266"

...

},

...

              {"serial":"77004321"

...

},

...

              ...
        ]
    }
}