Клиентское приложение обращается к серверу для передачи контейнера с данными.

HTTP request (на примере objectum.ru/projects/region_ws)

POST http://objectum.ru/projects/region_ws/plugins

Request body

{
"fn": "service.container",
"data": {
"authToken": "1234567890",
"org": [],
"emp": [],
"staff": [],
"group": [],
"student": [],
"book": []
}
}

Описание контейнеров "org", "emp", "staff", "group", "student", "book" смотрите [[Схема данных]], [[Пример контейнера с данными]].

Response - успешная передача данных

{
"header": {}
}

Response - ошибки выявленные в контейнере

Пример выявленной ошибки - неправильный формат даты.

{
"header": {
"error": [{
"instanceContext": "#/orgs/0/license/date",
"resolutionScope": "anon-schema://144861fad41dc85207ae035262a520411ca64a04/#/definitions/license/properties/date",
"constraintName": "format",
"constraintValue": "date",
"testedValue": "2013-12-32",
"desc": "not a valid date",
"kind": "FormatValidationError"
}]
}
}

Пример передачи данных (NodeJS)

var http = require ("http");
var fs = require ("fs");
fs.readFile ("container.json", "utf8", function (err, data) {
var container = {};
container.data = JSON.parse (data);
var body = JSON.stringify (container);
var req = http.request ({
host: "objectum.ru",
port: 80,
path: "/projects/region_ws/plugins",
method: "POST",
headers: {
"Content-Type": "application/json; charset=utf-8",
"Content-Length": Buffer.byteLength (body, "utf8")
}
}, function (res) {
res.setEncoding ("utf8");
var data;
res.on ("data", function (d) {
if (data) {
data += d;
} else {
data = d;
};
});
res.on ("end", function () {
var result = JSON.parse (data);
// Ошибки выявленные в контейнере
var error = result.header.error;
});
});
req.on ("error", function (err) {
console.log ("Ошибка: " + err);
});
req.end (body);
});