Sound recordings of alerts (alertcall)

Overview

Provides access to files in the domain’s shared alert sound recordings directory. The files contained in the directory can be specified in any alerts entity and used by the IVR alert script.

The directory is located in the category of automatically synchronized directories :SYNC.

The catalog is accessed from scripts using the catalog category prefix ":SYNC_DOMAIN_DATA/alertcall".

Requests

HTTP verb Endpoint Description

POST

/rest/v1/fs/targets/alertcall

Pouring a group of files

GET

/rest/v1/fs/targets/alertcall

Getting a list of files

GET

/rest/v1/fs/targets/alertcall/<filename>

File download

PUT

/rest/v1/fs/targets/alertcall/<filename>

Reloading an existing file

DELETE

/rest/v1/fs/targets/alertcall/<filename>

Deleting a file

HEAD

/rest/v1/fs/targets/alertcall/<filename>

Getting meta-information about a file


Pouring a group of files

Uploading to the collection is done by Content-Type: multipart/formdata.

There can be one or more files in the request. The files are placed under the names specified in the Content-Disposition headers of each part.

If a file with the specified name already exists, it is not saved and returns an error. Depending on the Content-Type and the presence of successfully placed files, the request may return a failed HTTP response, or failure information in the body of the HTTP response 200 OK.

Request

Request example
POST /rest/v1/fs/targets/alertcall HTTP/1.1
Content-Type: multipart/form-data; boundary=-----------boundary_69df8120352a996e

-----------boundary_69df8120352a996e
Content-Type: application/octet-stream
Content-Disposition: form-data; name="filename"; filename="alert_sound12.mp3"
Content-Transfer-Encoding: binary

BINARY BODY OF 'alert_sound12.mp3'
-----------boundary_69df8120352a996e--

Response

Response example
[
  {
    "name": "alert_sound12.mp3",
    "size": 160042,
    "status": "ok"
  }
]

Getting a list of files

Request

Table 1. Request parameters
Name Type Description

filter

object

Filter by field values.

mask

str

List of fields to output. Available fields for output: name, size, last_modified.

offset

int

Offset in the list of files to be issued.

limit

int

Maximum number of files in the list.

order

array<object|str>

The sort order of the files in the list.

Request example
GET /rest/v1/fs/targets/alertcall HTTP/1.1

Response

Response example
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
  {
    "name": "alert_sound11.wav",
    "size": 621692,
    "last_modified": "2019-09-19 12:53:11"
  },
  {
    "name": "alert_sound12.wav",
    "size": 160042,
    "last_modified": "2019-09-19 12:53:11"
  }
]

File download

Request

Table 2. Request parameters
Name Type Description

attachment

bool

Issuance Type. Default false.

true – is output with the header Content-Disposition: attachment; filename=filename.ext or Content-Disposition: attachment; filename*=UTF-8''%d1%84%d0%b0%d0%b9%d0%bb.ext, where file.ext is the file name in UTF-8 encoding and URLencoded.

false – untitled Content-Disposition.

Request example
GET /rest/v1/fs/targets/alertcall/alert_sound12.mp3?attachment=true HTTP/1.1

Response

Response example
HTTP/1.1 200 OK
Content-Type: application/octet-stream; charset=utf-8
Content-Disposition: attachment; filename*=UTF-8''alert%20sound%2012.mp3

BINARY BODY OF 'alert sound 12.mp3'

Reloading an existing file

Performs a file replacement.

A single file is uploaded either with Content-Type: multipart/formdata, or with an arbitrary Content-Type that is not multipart.

If the download is done with Content-Type: multipart/formdata, then only the first file will be saved (the first part with the filename field in the header) Content-Disposition), and the file name itself will be ignored.

Request

Request example (octet-stream)
PUT /rest/v1/fs/targets/alertcall/alert_sound12.mp3 HTTP/1.1
Content-Type: application/octet-stream

BINARY BODY OF 'alert_sound12.mp3'
Request example (multipart)
PUT /rest/v1/fs/targets/alertcall/alert_sound12.mp3 HTTP/1.1
Content-Type: multipart/form-data; boundary=-----------boundary_69df8120352a996e

-----------boundary_69df8120352a996e
Content-Type: application/octet-stream
Content-Disposition: form-data; name="alert_sound12.mp3"; filename="alert_sound12.mp3"
Content-Transfer-Encoding: binary

BINARY BODY OF 'alert_sound12.mp3'
-----------boundary_69df8120352a996e--

Response

Response example
HTTP/1.1 204 No Content

Deleting a file

Request

Request example
DELETE /rest/v1/fs/targets/alertcall/alert_sound12.mp3 HTTP/1.1

Response

Response example
HTTP/1.1 204 No Content

Getting meta-information about a file

Returns meta-information about the file, including the size in the header Content-Length.

Features

  • HTTP-the response does not contain a body, despite the presence of a header Content-Length.

Request

Table 3. Request parameters
Name Type Description

attachment

bool

Issuance Type. Default false.

true – is output with the header Content-Disposition: attachment; filename=filename.ext or Content-Disposition: attachment; filename*=UTF-8''%d1%84%d0%b0%d0%b9%d0%bb.ext, where file.ext is the file name in UTF-8 encoding and URLencoded.

false – untitled Content-Disposition.

Request example
HEAD /rest/v1/fs/targets/alertcall/alert_sound12.mp3?attachment=true HTTP/1.1

Response

Example of a successful response
HTTP/1.1 200 OK
Content-Type: audio/x-wav
Last-Modified: Thu, 19 Sep 2019 12:53:11 GMT
Content-Disposition: attachment; filename=alert_sound12.mp3
Content-Length: 160042
Example of an unsuccessful response
HTTP/1.1 404 Not Found