> For the complete documentation index, see [llms.txt](https://help.axatel.by/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.axatel.by/administrirovanie-telefonnoi-stancii/api/api-upravlenie-failami-domena.md).

# API управление файлами домена

## Публичный канал интеграции

&#x20;Настраивается в Web-интерфейсе администрирования. Тип канала - **Публичный**.\
&#x20;Признак "Разрешить работу с файлами через этот публичный канал" должен быть включен.

![](/files/-MJ6S8NW-M1OLtJc6Cn-)

## API управления

\
\
Внешние системы должны обращаться на адрес http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/{command}

* **fqdn\_ws\_role** - адрес URL роли WS (Веб-сервера управления)
* **{token}** - значение локального токена из созданного публичного канала
* **{command}** - команда управления (описаны ниже)

## Команды управления

### Загрузка файлов в домен

#### upload

![](/files/-MM_Yt6UUGCM2XuM4zNB)

&#x20;http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/upload\
&#x20;Метод - POST\
&#x20;Content-Type - multipart/form-data\
&#x20;Body -  Form\
\[File] = выберите файл\
\
В ответе json приходит результат загрузки файла. \
\
Успешный ответ содержит "resultcode": 0, "resultmsg": "OK". \
\
Пример успешного ответа:

```
{ "resultcode": 0,
 "resultmsg": "OK",
 "data":{
 "upload":[
  { "name": "205-a10-02.zip", 
  "res": "ok" 
  } 
  ] 
  } 
  } 
```

Неуспешный ответ содержит код ошибки и ее описание.

&#x20;Пример неуспешного ответа:

```
{ 
 "resultcode": 1501,
  "resultmsg": "Not enough free disk space"
 }
```

&#x20;

### Скачивание файла в браузере.

#### download

![](/files/-MJ1gE3zOSd7J9jZtRAo)

&#x20;http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/download?file={filename}

&#x20;Метод - GET\
{filename} - имя файла для скачивания

### Получение списка файлов.&#x20;

#### list

![](/files/-MJ1gRLeeyf7xMj7ZdwG)

&#x20;http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/list

Метод - GET

&#x20;В ответе json с полным списком файлов следующего вида

```
{
 "resultcode": 0,
  "resultmsg": "OK",
   "data": { "files": [ 
   {
    "file": {
     "name": "205-a10-02.zip"
    }
     },
      { 
      "file": {
       "name": "queue_wait_sgk.mp3" 
       }
      }
    ] 
  } 
}
```

### &#x20;Удаление файла.

#### delete

![](/files/-MJ1glZ42RBd3jTsRVoX)

&#x20;http(s)://fqdn\_ws\_role/api/token/v1/{token}/files/delete?file={filename}<br>

Метод - GET\
{filename} - имя файла для удаления

Хранение файла и получение доступа из сценариев Файл хранится в директории **fsync** домена в поддиректории **/data/tokens/**.

Пример ...**/syncfolder/domains/domain.demo.axatell/data/tokens/205-a10-02.zip**\
Для получения доступа к файлу в IVR/SVC сценарии можно через формирования пути к файлу следующего вида:

путь = syn\_domain()\
файл = tokens/205-a10-02.zip

&#x20;Пример получения файла в Выражениях Сценария:

&#x20;makepath(syn\_domain(),"tokens/002.mp3")

* 002.mp3- имя файла
* tokens - константа имени каталога
