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 2 Next »

Introduction

This service is used to create object instances by linking them as collection elements, or to delete all instances related to a given object.

Object collections, or collection objects can be handled.
For instance for the given object:

foo
- id
- name
- item   (collection relationship attribute to object of type bar)
bar
- id
- name

The foo object is called collection root.

Configuration

For each action, there is a corresponding identifying name, and its configuration JSON.

JSON example

{
  "Objectname": "the object and collection name",
  "Field": "the name of the collection type collection object property (on itself)",
  "Rootobjectname": "a possible object name that has a collection type property that is not the nature of this collection (the root object)",
  "Rootfield": "the name of the collection property on objectname of the rootobjectname object (the root object collection type object property)",
  "clear": true, // indicates whether it is allowed to delete all the collection elements related to a given object
  "props": { // list of changeable properties, and their configuration
    "Property name": null
  }
}

Properties and sections

  • objectname: String - Object name (type) (shall have a collection type property)

  • description: String - Short description of action

  • Field: Name of the collection type property towards objectname

  • rootobjectname: Name of the object that has a collection type property on objectname

  • rootfield: The name of the collection of rootobjectname

  • props: Section properties An object which properties are property names that should be exported. It is possible to configure some options, and some formating action or value validation. But it has limitation for a complex rule, the trigger should be used. (Cf. Properties configuration)

EndPoints

There are two endpoints available

  • To add an element to the collection

  • To delete all elements of the collection related to an instance (and recursively all elements related to those elements)

To delete an element in collection use endpoint delete.

EndPoint: add an element to a collection

since 11.14

PUT http://host:port/app/api/json/collection/{actionName}/{id}

since 11.12

PUT http://host:port/app/api/json/collection

Legacy endpoint:

http//host:port/app/_plugins/WXM_RESTAPI/page/collection/add.jspz

Available method: PUT

Parameters

  • actionName: Character string, action identifier

  • id (or form_id): Current instance identifier

  • prop_<x>: Value to assign the x property

  • root: Boolean that indicates if the instance is the root object (true), or a collection element (false)

Response format

{
  "actionName": "mycollection",
  "response": {
    "createdId": "35"
  },
  "status": 201,
  "time": 433
}

The endpoint response call contains the identifier of the newly created resource (createdId field).

Security

The collection_add action of RESTAPI domain allows to manage the endpoint call authorization. There are two parameters:

  • surfer: surfer

  • actionName: used action identifier

Errors codes

HTTP Code API Code Definition

404

404/400

Unknown action

403

403/401

Forbidden addition

403

403/403

The user grants doesn’t allow to add

422

422/400

Impossible to modify (configuration problem)

EndPoint: delete all elements of a collection

since 11.14

DELETE http://host:port/app/api/json/collection/{actionName}/{id}

since 11.12

DELETE http://host:port/app/api/json/collection

Legacy endpoint:

http//host:port/app/_plugins/WXM_RESTAPI/page/collection/clear.jspz

Available method: DELETE

Parameters

  • actionName: Character string, action identifier

  • id (or form_id): Current Instance identifier

  • root: Boolean that indicates if the instance is the root object (true) or a collection element (false)

Response format

The endpoint call response contains the potential items identifiers that aren’t deleted (202 status).

{
  "actionName": "mycollection",
  "response": {
    "notDeleted": ["3","12","35"]
  },
  "status": 202,
  "time": 433
}

or 200 status if all elements are deleted

{
  "actionName": "mycollection",
  "response": {
    "notDeleted": []
  },
  "status": 200,
  "time": 421
}

or 404 status if there are no elements

{
  "actionName": "mycollection",
  "response": {
    "notDeleted": []
  },
  "status": 404,
  "time": 12
}

Security

The collection_clear action of RESTAPI domain allows to manage the endpoint call authorization. There are two parameters:

  • surfer: surfer

  • actionName: used action identifier

Errors codes

HTTP Code API Code Definition

404

404/400

Unknown action

403

403/401

Forbidden addition

403

403/403

The user grants doesn’t allow to add

422

422/400

Impossible to modify (configuration problem)

  • No labels