s3.php¶
Модуль управления S3 хранилищем: создание бакетов, управление аккаунтами пользователей, удаление данных и администрирование тарифов
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
cancel_payment_account_deletion | отмена удаления платежного аккаунта | Отменяет процесс удаления сервиса и восстанавливает статус аккаунта. |
create_bucket | создание бакета | Создает новый S3 бакет для указанного пользователя. |
create_order | создание заказа на S3 план | Создает новый S3 аккаунт и привязывает его к тарифному плану. |
delete_account | удаление аккаунта | Полное удаление S3 аккаунта и связанных с ним сервисов. |
delete_bucket | удаление бакета | Удаляет указанный S3 бакет. |
delete_file | удаление файла | Удаляет конкретный файл из S3 бакета. |
delete_payment_account | удаление платежного аккаунта | Инициирует процесс удаления (отмены) сервиса и подписки. |
get_available_locations | получение доступных локаций | Возвращает список всех доступных локаций, настроенных в S3 планах. |
get_buckets_rmq | получение информации о бакетах через RMQ | Возвращает список бакетов пользователя, информацию об использовании хранилища и данные биллинга. |
get_files | получение списка файлов S3 | Возвращает список файлов и папок в указанном бакете с поддержкой пагинации. |
get_users | получение списка пользователей S3 | Возвращает список пользователей (аккаунтов) для конкретного плана или клиента. |
list_plans | получение списка планов S3 | Возвращает список доступных тарифных планов с учетом налогов (VAT) и валюты пользователя. |
show_key | получение ключей доступа S3 | Возвращает расшифрованный Access Key или Secret Key для указанного S3 аккаунта. |
s3/cancel_payment_account_deletion¶
Отменяет процесс удаления сервиса и восстанавливает статус аккаунта.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: cancel_payment_account_deletion |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID пользователя (для администратора) |
| s3uid | ✅ | string | Уникальный идентификатор S3 аккаунта |
Пример запроса
Пример успешного ответа
s3/create_bucket¶
Создает новый S3 бакет для указанного пользователя.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: create_bucket |
| token | ✅ | string | Токен авторизации |
| s3uid | ✅ | string | Уникальный идентификатор S3 аккаунта |
| bucket_name | ✅ | string | Имя создаваемого бакета |
Пример запроса
Пример успешного ответа
s3/create_order¶
Создает новый S3 аккаунт и привязывает его к тарифному плану.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: create_order |
| token | ✅ | string | Токен авторизации |
| plan_id | ✅ | integer | ID выбранного тарифного плана |
| bucket_name | ✅ | string | Имя бакета для инициализации |
| location | ❌ | string | Локация (регион) размещения. По умолчанию NL. |
Пример запроса
s3/delete_account¶
Полное удаление S3 аккаунта и связанных с ним сервисов.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: delete_account |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID пользователя (для администратора) |
| s3uid | ✅ | string | Уникальный идентификатор S3 аккаунта |
| reason | ❌ | string | Причина удаления аккаунта |
Пример запроса
Пример успешного ответа
s3/delete_bucket¶
Удаляет указанный S3 бакет.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: delete_bucket |
| token | ✅ | string | Токен авторизации |
| id | ❌ | integer | ID пользователя (для администратора) |
| s3uid | ✅ | string | Уникальный идентификатор S3 аккаунта |
| bucket_name | ✅ | string | Имя бакета для удаления |
Пример запроса
Пример успешного ответа
s3/delete_file¶
Удаляет конкретный файл из S3 бакета.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: delete_file |
| token | ✅ | string | Токен авторизации |
| s3uid | ✅ | string | Уникальный идентификатор S3 аккаунта |
| bucket_name | ✅ | string | Имя бакета в хранилище S3 |
| filename | ✅ | string | Путь или имя файла для удаления из бакета |
Пример запроса
Пример успешного ответа
s3/delete_payment_account¶
Инициирует процесс удаления (отмены) сервиса и подписки.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: delete_payment_account |
| token | ✅ | string | Токен авторизации |
| id | ❌ | integer | ID пользователя (для администратора) |
| s3uid | ✅ | string | Уникальный идентификатор S3 аккаунта |
| reason | ❌ | string | Причина отмены подписки |
Пример запроса
Пример успешного ответа
s3/get_available_locations¶
Возвращает список всех доступных локаций, настроенных в S3 планах.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_available_locations |
| token | ✅ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
s3/get_buckets_rmq¶
Возвращает список бакетов пользователя, информацию об использовании хранилища и данные биллинга.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_buckets_rmq |
| token | ✅ | string | Токен авторизации |
| id | ❌ | integer | ID клиента (для администратора) |
| s3uid | ✅ | string | Уникальный идентификатор S3 аккаунта |
Пример запроса
Пример успешного ответа
{
"result": "OK",
"action": "get_buckets_rmq",
"message": [
{
"name": "bucket-1",
"usage": 1024
},
{
"name": "bucket-2",
"usage": 512
}
],
"usage_storage": 1536,
"quota": 5000,
"metering": {
"total_traffic_gb": 10.5,
"total_storage_gb": 2.4
},
"billing": {
"service_id": 123,
"currency": "EUR",
"period": {
"start": "2024-01-01T00:00:00Z",
"end": "2024-01-31T23:59:59Z"
},
"limits": {
"traffic_gb": 100,
"storage_gb": 50
},
"current_period": {
"traffic_used_gb": 5.2,
"storage_used_gb": 1.1,
"billed_traffic_gb": 0,
"billed_storage_gb": 0,
"billed_traffic_amount": 0,
"billed_storage_amount": 0
},
"overage": null,
"records": [],
"error": "billing_unavailable"
},
"access_key": "AKIAEXAMPLE123456789",
"secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"endpoint": "s3.nl.hostkey.com"
}
s3/get_files¶
Возвращает список файлов и папок в указанном бакете с поддержкой пагинации.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_files |
| token | ✅ | string | Токен авторизации |
| s3uid | ✅ | string | Уникальный идентификатор S3 аккаунта |
| bucket_name | ✅ | string | Имя бакета |
| max_keys | ❌ | integer | Максимальное количество ключей (до 100) |
| search | ❌ | string | Строка поиска для фильтрации файлов |
| continuation_token | ❌ | string | Токен продолжения (для пагинации) |
Пример запроса
Пример успешного ответа
s3/get_users¶
Возвращает список пользователей (аккаунтов) для конкретного плана или клиента.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_users |
| token | ✅ | string | Токен авторизации |
| id | ❌ | integer | ID клиента (для администратора) |
| plan_id | ❌ | integer | ID плана для фильтрации пользователей |
| mode | ❌ | string | Режим получения: plan_users (только для админа) |
| s3uid | ❌ | string | S3UID пользователя |
| ❌ | string | Поиск по email | |
| billing | ❌ | string | Фильтр по биллингу (whmcs_location) |
| storage_type | ❌ | string | Тип хранилища |
| location | ❌ | string | Локация (регион) |
| bucket_name | ❌ | string | Поиск по имени бакета |
| offset | ❌ | integer | Смещение для пагинации (админ) |
| limit | ❌ | integer | Лимит записей (админ) |
| period_from | ❌ | string | Дата начала отчетного периода для расчета метрик использования. |
| period_to | ❌ | string | Дата окончания отчетного периода для расчета метрик использования. |
Пример запроса
Пример успешного ответа
{
"result": "OK",
"action": "get_users",
"s3_users": [
{
"id": 123,
"email": "user@example.com",
"status": "active",
"price": {
"EUR": 49.99,
"RUB": 5000
},
"service": {
"id": 123,
"rate": 49.99,
"status": "active",
"period_start": "2024-01-01"
}
}
],
"count": 1,
"s3_have_free_accounts": false,
"s3_tariff_upgrade_decided": true,
"s3_tariff_upgrade_available": true
}
s3/list_plans¶
Возвращает список доступных тарифных планов с учетом налогов (VAT) и валюты пользователя.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: list_plans |
| token | ✅ | string | Токен авторизации |
| id | ❌ | integer | ID конкретного плана для получения информации (доступно только администраторам) |
Пример запроса
Пример успешного ответа
s3/show_key¶
Возвращает расшифрованный Access Key или Secret Key для указанного S3 аккаунта.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: show_key |
| token | ✅ | string | Токен авторизации |
| s3uid | ✅ | string | Уникальный идентификатор S3 аккаунта |
| s3_key | ✅ | string | Тип ключа. Допустимые значения: secret_key, access_key |
Пример запроса