The request URL for importing the channel configuration for a server has the following form:
/channels/by-server/
<server ID>
/import
The
<server ID>
has to be replaced by
the UUID associated with the respective
server.
The request must use the
POST
method.
The request body must be a JSON object with the following members:
Field name | Internal data type | JSON data type | Description |
---|---|---|---|
addChannels | boolean | boolean |
true
if channels present in the
configuration file, but
missing on the server shall be added
to the server.
false
if no new channels shall be added to
the server.
Default is
false
.
|
configurationFile | array of byte | string | Base64 ( RFC 4648 ) encoded contents of the configuration file that shall be imported. |
removeChannels | boolean | boolean |
true
if channels missing in the
configuration file, but
present on the server shall be removed
from the server.
false
if no new channels shall be removed
from the server.
Default is
false
.
|
simulate | boolean | boolean |
true
if no modifications shall be made.
This means that the
response will have the same content as if
all changes
where applied successfully.
This is useful in
combination with the
removeChannels
option in order to see which
channels would be removed.
Default is
false
.
|
updateChannels | boolean | boolean |
true
if channels present in the
configuration file and also
present on the server shall be
updated to match the
configuration specified in the file.
false
if no existing channels shall be
changed.
Default is
false
.
|
The response is a JSON object with the with the following members:
Field name | Internal data type | JSON data type | Description |
---|---|---|---|
addOrUpdateFailed | map of string to string | object (with string attribute values) |
object with a member for each channels for which an
add or
update operation failed.
The channel name is the
member’s key and the corresponding
error message is the
member’s value.
May be
null
if there is a global error or
if the data is sent in
response to a request that has the
simulate
flag set.
|
addOrUpdateSucceeded | set of string | array of string |
list of channels for which an add or update operation
was
successful.
In case of an update operation, this
does not necessarily mean
that the server configuration
has been updated.
It might also have already been
identical to the configuration
specified by the file.
May be
null
if there is a global error.
|
errorMessage | string | string |
error message indicating a global problem.
Such a
problem does not affect a specific channel, but the
import process in general (e.g. a syntax error in the
configuration file).
If such an error is present, no
changes have been made to the
server configuration.
null
if there is no global error.
|
removeFailed | map of string to string | object (with string attribute values) |
object with a member for each channel for which a
remove
operation failed.
The channel name is the
member’s key and the corresponding
error message is the
member’s value.
May be
null
if there is a global error or
if the data is sent in
response to a request that has the
simulate
flag set.
|
removeSucceeded | set of string | array of string |
list of channels for which a remove operation was
successful.
May be
null
if there is a global error.
|
If there is a problem with the request parameters (e.g. a
syntax eror
in the configuration file), HTTP error code 400
(bad request) is
returned.
If there is a general problem with
the request body, the response body
is invalid.
If there only is
a problem with the contents of the configuration
file, a valid
JSON response with the
errorMessage
set is returned.
If the user could not be authenticated or is
not authorized to use
the import function, HTTP error code 403
(forbidden) is returned and
the response body is invalid.
If
there is an error when applying the changes for at least one
channel, HTTP error code 500 (internal server error) is
returned and
the channel is added to the
addOrUpdateFailed
or
removeFailed
maps.
If there is a general problem while processing the
request (e.g. the
database is currently unavailable), HTTP
error code 503 (service
unavailable) is returned and the
errorMessage
is
set in the response.
Request:
POST /admin/api/1.0/channels/by-server/7cf8f393-cd00-46ae-9343-53e9cb5793fd/import { "addChannels": true, "configurationFile": "PD94bWwgdmVy... (shortened for this example)", "removeChannels": true }
Response:
{ "addOrUpdateFailed": { "someChannel": "Channel \"someChannel\" cannot be added because a channel ↪with the same name already exists." }, "addOrUpdateSucceed": [ "newChannel" ], "errorMessage": null, "removeFailed": {}, "removeSucceeded": [ "someOtherChannel" ] }