wCMF Wiki : JSON

HomePage :: Categories :: PageIndex :: RecentChanges :: Login/Register

Introduction

From version > 2.6.1 we introduced a complete separation between backend and frontend.
Now you can use the JSON interface to speak with the application remotely.

How to use the JSON interface


Login

Example:

Request
main.php?usr_action=dologin&login=admin&password=admin&response_format=JSON

Response
{"sid":"d0241ecb36e3d3ecb9bacf6b3eb64da8","success":"1"}

Logout


Example:

Request
main.php?usr_action=logout&response_format=JSON&sid=d0241ecb36e3d3ecb9bacf6b3eb64da8

Response
{"sid":"d0241ecb36e3d3ecb9bacf6b3eb64da8","success":"1"}

Get a list of objects:


Example:

Request
main.php?sid=5fb2152de33c2239bac14a35d5ba6f4e&usr_action=list&response_format=JSON&type=ChiIssue

Response
{"sid":"d0241ecb36e3d3ecb9bacf6b3eb64da8","totalCount":6,"objects":[{"oid":"Enterprise:4","type":"Enterprise","properties":{"is_searchable":"1","display_value":"Name","parentoids":[],"childoids":["Worker:5"]},"values":{"3":{"id":{"value":"4"}},"1":{"Name":{"value":"microsmash"}}}},{"oid":"Enterprise:13","type":"Enterprise","properties":{"is_searchable":"1","display_value":"Name","parentoids":[],"childoids":[]},"values":{"3":{"id":{"value":"13"}},"1":{"Name":{"value":"Eliopoli Building"}}}},{"oid":"Enterprise:14","type":"Enterprise","properties":{"is_searchable":"1","display_value":"Name","parentoids":[],"childoids":["Worker:38","Worker:42"]},"values":{"3":{"id":{"value":"14"}},"1":{"Name":{"value":"Ordo Solis"}}}},{"oid":"Enterprise:15","type":"Enterprise","properties":{"is_searchable":"1","display_value":"Name","parentoids":[],"childoids":[]},"values":{"3":{"id":{"value":"15"}},"1":{"Name":{"value":"Eclisse"}}}},{"oid":"Enterprise:16","type":"Enterprise","properties":{"is_searchable":"1","display_value":"Name","parentoids":[],"childoids":["Worker:19","Worker:22","Worker:25"]},"values":{"3":{"id":{"value":"16"}},"1":{"Name":{"value":"Ordo Solis"}}}},{"oid":"Enterprise:29","type":"Enterprise","properties":{"is_searchable":"1","display_value":"Name","parentoids":[],"childoids":["Worker:30"]},"values":{"3":{"id":{"value":"29"}},"1":{"Name":{"value":"wemove"}}}}]}

Get properties of an object:


Example:

Request
main.php?sid=5fb2152de33c2239bac14a35d5ba6f4e&usr_action=display&response_format=JSON&oid=ChiIssue:46&depth=0&omitMetaData=true&translateValues=true

Response
{"sid":"5fb2152de33c2239bac14a35d5ba6f4e","possibleparents":{"ChiRequirement":{"oid":"ChiRequirement:wcmf9d70c28a0fcca4b03efae444f8ba330f","type":"ChiRequirement","properties":{"is_searchable":"1","display_value":"Name|Priority","parentoids":["ChiRequirement:wcmf16fe23d23a9f2e2a5c679470ad4a5c3d","ChiGoal:wcmf08e36950a1949819f5fe6231cac82458","Package:wcmfb0b2be00edb5aca33ed94927151805be","ChiBusinessProcess:wcmf88eb038c27924504b92dade4bbdcce8f"],"childoids":["ChiRequirement:wcmfbec9f2a0bad72aecadc71c76d220755b","NMFeatureRequirements:wcmfe2e5550cd2e85a77fec90f2da998ef72","ChiIssue:wcmf859e325ff6d6faa2e97934d499596a41"],"canAssociate":"1","composition":"1","assignedParent":{"oid":"ChiRequirement:42","type":"ChiRequirement","properties":{"is_searchable":"1","display_value":"Name|Priority","parentoids":[],"childoids":["ChiIssue:46"]},"values":{"3":{"id":{"value":"42"},"fk_chibusinessprocess_id":{"value":""},"fk_package_id":{"value":""},"fk_chigoal_id":{"value":""},"fk_chirequirement_id":{"value":""}},"1":{"reqType":{"value":""},"Priority":{"value":"50"},"Author":{"value":""},"Proofreader":{"value":""},"Status":{"value":""},"Alias":{"value":""},"Version":{"value":"1.0"},"Name":{"value":"Organic food"},"Notes":{"value":},"created":{"value":"2008-08-26 10:34:08"},"creator":{"value":"admin"},"last_editor":{"value":"admin"},"modified":{"value":"2008-08-26 10:47:59"}}}}},"values":{"3":{"id":{"value":"wcmf9d70c28a0fcca4b03efae444f8ba330f"},"fk_chibusinessprocess_id":{"value":},"fk_package_id":{"value":},"fk_chigoal_id":{"value":},"fk_chirequirement_id":{"value":}},"1":{"reqType":{"value":},"Priority":{"value":"50"},"Author":{"value":"myName, Analyst"},"Proofreader":{"value":"aName, Client"},"Status":{"value":},"Alias":{"value":},"Version":{"value":"1.0"},"Name":{"value":},"Notes":{"value":},"created":{"value":},"creator":{"value":},"last_editor":{"value":},"modified":{"value":}}}},"Package":{"oid":"Package:wcmf85b400ce4b6c5ca19fa0f887ebe08fe0","type":"Package","properties":{"is_searchable":"1","display_value":"Name","parentoids":["Package:wcmfb43ebe1f9ff561dd4b7180bc13d2b1a6","ChiBusinessProcess:wcmf26a2a638b26b2f47788b14052aca1908"],"childoids":["ChiIssue:wcmfdd412869207261dbf45a3758dbbc154a","ChiRequirement:wcmf47ff67d9b0338b5fb57fc5e87ac06d2f","Actor:wcmf3c0699076d63320967a7c77e47109cd7","ChiFeature:wcmf18b706eafafe29dfcb82a705564b6f14","Package:wcmfa9d568a42730b84e19d51cb15c8994ec","ChiGoal:wcmfd9f59acdc788d48b1d1c0578e5aa53c2","ChiBusinessPartner:wcmf2ebf41a0b3f5796dcb341129db1d2fac","ChiBusinessPartnerPassive:wcmfaf6212aa4cfe1620861097b40cc881cb","ChiBusinessPartnerActive:wcmfada622d3d6d08f33fd0a65d5ef5593a4","ChiWorker:wcmf29a3446c5f00a5ded2a9b5468fb840a8","ChiWorkerInternal:wcmf778019da277aeed1bb8c0cea6ad2d46a","ChiWorkerExternal:wcmfdd7d41edb769594f0dee5c63f28c5059","ChiBusinessProcess:wcmf150bf106129b3d54ab31de04dacc6e13"],"canAssociate":"1","composition":"","assignedParent":{"oid":"Package:80","type":"Package","properties":{"is_searchable":"1","display_value":"Name","parentoids":[],"childoids":["ChiIssue:19","ChiIssue:46"]},"values":{"3":{"id":{"value":"80"},"fk_chibusinessprocess_id":{"value":""},"fk_package_id":{"value":""}},"1":{"Alias":{"value":"Issues"},"Version":{"value":"1.0"},"Name":{"value":"Issues"},"Notes":{"value":""},"created":{"value":"2008-08-26 11:13:29"},"creator":{"value":"pgiuseppe"},"last_editor":{"value":"pgiuseppe"},"modified":{"value":"2008-08-26 11:17:46"}}}}},"values":{"3":{"id":{"value":"wcmf85b400ce4b6c5ca19fa0f887ebe08fe0"},"fk_chibusinessprocess_id":{"value":},"fk_package_id":{"value":}},"1":{"Alias":{"value":},"Version":{"value":"1.0"},"Name":{"value":},"Notes":{"value":},"created":{"value":},"creator":{"value":},"last_editor":{"value":},"modified":{"value":}}}},"ChiBusinessProcess":{"oid":"ChiBusinessProcess:wcmf2369c02def5c3b43b7b6a2cf2d8e66f0","type":"ChiBusinessProcess","properties":{"is_searchable":"1","display_value":"Name","parentoids":["Package:wcmffebad932370311c18b00a5b0a6dcb041"],"childoids":["ChiBusinessUseCase:wcmfbe6620410584a4d08e04265f892792ad","ChiBusinessUseCaseCore:wcmfc3ef4dd99139d5386b173ed5fca020ad","ChiIssue:wcmf8bf0081cfb0bdbe84af11efa43812cb3","ChiRequirement:wcmf0d44f96dcfd384022f76c5f44253bd0c","Actor:wcmf8e5596b61f9281c1fd6ed1e8125cd226","ChiFeature:wcmf28d6a5826ad2b5736391dccbc76acd22","Package:wcmf17083b425392199c1d24b3d59788742c","ChiGoal:wcmf5aa7bd3c17a6a6f258a25227e27c0b8d"],"canAssociate":"1","composition":},"values":{"3":{"id":{"value":"wcmf2369c02def5c3b43b7b6a2cf2d8e66f0"},"fk_package_id":{"value":}},"1":{"Alias":{"value":},"Version":{"value":"1.0"},"Name":{"value":},"Notes":{"value":},"created":{"value":},"creator":{"value":},"last_editor":{"value":},"modified":{"value":}}}}},"possiblechildren":[],"lockMsg":,"oid":"ChiIssue:46","rootType":"ChiIssue","viewMode":"detail","node":{"oid":"ChiIssue:46","type":"ChiIssue","properties":{"is_searchable":"1","display_value":"Name","parentoids":["ChiRequirement:42","Package:80"],"childoids":[]},"values":{"3":{"id":{"value":"46"},"fk_chibusinessprocess_id":{"value":},"fk_package_id":{"value":"80"},"fk_chirequirement_id":{"value":"42"}},"1":{"Author":{"value":"58"},"Responsible":{"value":"56"},"Alias":{"value":"ciccio"},"Version":{"value":"1.0"},"Name":{"value":"I hate organic food"},"Notes":{"value":"
I hate organic from my childhood<\/p>"},"created":{"value":"2008-08-26 10:35:49"},"creator":{"value":"admin"},"last_editor":{"value":"pgiuseppe"},"modified":{"value":"2008-08-26 11:55:14"}}}},"rootTemplateNode":{"oid":"ChiIssue:wcmfc0e01988f36b35c77f663638647d8752","type":"ChiIssue","properties":{"is_searchable":"1","display_value":"Name","parentoids":["ChiRequirement:wcmf3fc6bff43a4e5e2c8e989f18c4262143","Package:wcmff114522908590d1762a4ca2f8495b167","ChiBusinessProcess:wcmffab40f6f51cc20fea4371c14ede26fc5"]},"values":{"3":{"id":{"value":"wcmfc0e01988f36b35c77f663638647d8752"},"fk_chibusinessprocess_id":{"value":""},"fk_package_id":{"value":""},"fk_chirequirement_id":{"value":""}},"1":{"Author":{"value":""},"Responsible":{"value":"none"},"Alias":{"value":""},"Version":{"value":"1.0"},"Name":{"value":""},"Notes":{"value":""},"created":{"value":""},"creator":{"value":""},"last_editor":{"value":""},"modified":{"value":}}}}} important is the part "Node" in bold. node":{"oid":"ChiIssue:46","type":"ChiIssue","properties":{"is_searchable":"1","display_value":"Name","parentoids":["ChiRequirement:42","Package:80"],"childoids":[]},"values":{"3":{"id":{"value":"46"},"fk_chibusinessprocess_id":{"value":},"fk_package_id":{"value":"80"},"fk_chirequirement_id":{"value":"42"}},"1":{"Author":{"value":"58"},"Responsible":{"value":"56"},"Alias":{"value":"ciccio"},"Version":{"value":"1.0"},"Name":{"value":"I hate organic food"},"Notes":{"value":"
I hate organic from my childhood<\/p>"},"created":{"value":"2008-08-26 10:35:49"},"creator":{"value":"admin"},"last_editor":{"value":"pgiuseppe"},"modified":{"value":"2008-08-26 11:55:14"}}}},"rootTemplateNode":{"oid":"ChiIssue:wcmfc0e01988f36b35c77f663638647d8752","type":"ChiIssue","properties":{"is_searchable":"1","display_value":"Name","parentoids":["ChiRequirement:wcmf3fc6bff43a4e5e2c8e989f18c4262143","Package:wcmff114522908590d1762a4ca2f8495b167","ChiBusinessProcess:wcmffab40f6f51cc20fea4371c14ede26fc5"]},"values":{"3":{"id":{"value":"wcmfc0e01988f36b35c77f663638647d8752"},"fk_chibusinessprocess_id":{"value":""},"fk_package_id":{"value":""},"fk_chirequirement_id":{"value":""}},"1":{"Author":{"value":""},"Responsible":{"value":"none"},"Alias":{"value":""},"Version":{"value":"1.0"},"Name":{"value":""},"Notes":{"value":""},"created":{"value":""},"creator":{"value":""},"last_editor":{"value":""},"modified":{"value":""}}}}}

Create a new object


Example:

Request
main.php?sid=5fb2152de33c2239bac14a35d5ba6f4e&usr_action=new&response_format=JSON&newtype=ChiIssue

Request with initial property values for the new object
main.php?sid=5fb2152de33c2239bac14a35d5ba6f4e&usr_action=new&response_format=JSON&newtype=ChiIssue&value--name-ChiIssue:123=issue1

Response
{"sid":"5fb2152de33c2239bac14a35d5ba6f4e","oid":"ChiGoal:182"}

Update an object


Example:

Request
main.php?sid=5fb2152de33c2239bac14a35d5ba6f4e&usr_action=save&response_format=JSON&value--name-ChiIssue:204=issue1

Response
{"sid":"5fb2152de33c2239bac14a35d5ba6f4e","oid":"ChiIssue:204","success":"1"}

Alternativly you can use JSON encoded data for sending the Node data to update.
For example if you like to update the name of Author:274 the parameters of the JSON call would look like this:

{usr_action:"save", response_format:"JSON", request_format:"JSON", "Author:274":{"oid":"Author:274", "type":"Author", "values":{"1":{"name":"ingo"}}}

Don't forget to set the correct request_format value (JSON in this case).

Delete an object


Example:

Request
main.php?sid=3fb105a5dc8a0d9be132e1adc756e29c&usr_action=delete&response_format=JSON&deleteoids=ChiIssue:204

Connect 2 objects


oid=X is associateoids=Y as associateAs=parent

Y is parent of X

oid=X is associateoids=Y as associateAs=Child

X is parent of Y

Example:

Request
main.php?sid=3fb105a5dc8a0d9be132e1adc756e29c&usr_action=associate&response_format=JSON&oid=ChiIssue:19&associateoids=ChiRequirement:353&associateAs=parent

Disconnect 2 objects


Example:

Request
main.php?sid=3fb105a5dc8a0d9be132e1adc756e29c&usr_action=disassociate&response_format=JSON&oid=ChiIssue:19&associateoids=ChiRequirement:353&associateAs=parent

(Un-)Lock an object


Example:

Request
main.php?sid=3fb105a5dc8a0d9be132e1adc756e29c&usr_action=lock&response_format=JSON&oid=ChiIssue:19
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki
Page was generated in 0.2358 seconds