Перейти к содержанию

s3.php

Модуль управления S3-хранилищем: создание и удаление аккаунтов, управление бакетами и файлами, получение статистики использования, управление тарифными планами и биллингом.

Методы API

Метод Действие Описание
create_account создание S3 аккаунта (заказа) Создает новый S3 аккаунт для клиента, привязывает его к тарифному плану и создает заказ в биллинговой системе.
create_bucket создание бакета Создает новый S3 bucket для существующего аккаунта пользователя. Проверяет принадлежность s3uid текущему клиенту и выполняет создание через API провайдера.
create_order создание заказа на S3 Создает новый аккаунт S3 пользователя, привязанный к выбранному тарифному плану, и формирует заказ в биллинговой системе.
delete_account удаление аккаунта Полное удаление S3 аккаунта пользователя с аннулированием сервиса и созданием аудиторской записи.
delete_bucket удаление бакета S3 Удаляет указанный S3 bucket. Проверяет принадлежность бакета пользователю и его наличие в списке доступных.
delete_file удаление файла из S3 бакета Удаляет указанный файл из S3 бакета. Требуется валидный токен и идентификатор S3 аккаунта.
delete_payment_account запрос на удаление платежного аккаунта (отмена подписки) Инициирует процесс отмены сервиса S3, устанавливает дату завершения периода и отправляет уведомление клиенту.
get_buckets получение списка бакетов Возвращает список S3 бакетов, информацию о трафике и снапшотах для указанного аккаунта
get_buckets_rmq получение списка бакетов (RMQ) Возвращает информацию о бакетах пользователя, включая их использование, квоты, данные биллинга и учетные данные доступа через RMQ.
get_files получение списка файлов Возвращает список файлов в S3 бакете с поддержкой пагинации и поиска
get_users получение списка пользователей S3 Возвращает список пользователей S3 с фильтрацией по различным параметрам, включая информацию о трафике и деталями сервиса.
history получение истории Возвращает историю действий (логи) для указанного S3 аккаунта
list_plans получение списка тарифов Возвращает список доступных S3 тарифных планов с учетом налогов (VAT) и валюты пользователя. Для администраторов позволяет получить конкретный план по ID.
show_key получение ключей доступа Возвращает расшифрованный секретный ключ или публичный доступный ключ (access_key) для S3 аккаунта

s3/cancel_payment_account_deletion

Отменяет процесс удаления S3-аккаунта, связанного с платежным сервисом. Позволяет восстановить статус обслуживания и очищает теги приостановки.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Токен авторизации
s3uid string Уникальный идентификатор S3 аккаунта

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "cancel_payment_account_deletion",
"next_commit_date": "2024-12-31 23:59:59",
"termination_date": "2024-12-31 23:59:59"
}
Примеры ошибок

``` { "code": -1, "message": "S3 account not found for this customer" }

```

s3/create_account

Создает новый S3 аккаунт для клиента, привязывает его к тарифному плану и создает заказ в биллинговой системе.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Токен авторизации
bucket_name string Имя бакета для создания аккаунта
plan_id int ID тарифного плана
location string Локация (регион) размещения

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "bucket_name=VALUE" \
--data "plan_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "create_order",
"s3uid": "5f8e9d2a1b0c4e3f7a6b5d4c3e2f1a0b"
}
Примеры ошибок

``` { "code": -1, "message": "S3 account was creating, however bucket create error - Invalid bucket name" }

```

s3/create_bucket

Создает новый S3 bucket для существующего аккаунта пользователя. Проверяет принадлежность s3uid текущему клиенту и выполняет создание через API провайдера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: create_bucket
token string Токен авторизации
s3uid string Уникальный идентификатор S3 аккаунта (S3UID)
bucket_name string Имя создаваемого бакета

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=create_bucket" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE" \
--data "bucket_name=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "create_bucket",
"message": {
"status": "success",
"details": "Bucket created successfully"
}
}
Примеры ошибок

``` { "code": -1, "message": "S3 account not found for this customer" }

```

s3/create_order

Создает новый аккаунт S3 пользователя, привязанный к выбранному тарифному плану, и формирует заказ в биллинговой системе.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Токен авторизации
bucket_name string Имя создаваемого бакета
plan_id int ID выбранного тарифного плана
location string Локация хранения (по умолчанию NL)

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "bucket_name=VALUE" \
--data "plan_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "create_order",
"s3uid": "5f8e9d2a1b0c4e3f7a6b5d4c3e2f1a0b"
}
Примеры ошибок

``` { "code": -1, "message": "S3 account was creating, however bucket create error - Invalid bucket name" }

```

s3/delete_account

Полное удаление S3 аккаунта пользователя с аннулированием сервиса и созданием аудиторской записи.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Токен авторизации
s3uid string Уникальный идентификатор S3 аккаунта
reason string Причина удаления аккаунта

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_account",
"deleted_at": "2024-05-20 14:30:00",
"service_status": "cancelled",
"service_period_end": "2024-05-20 14:30:00"
}
Примеры ошибок

``` { "code": -1, "message": "S3 account not found for this customer" }

```

s3/delete_bucket

Удаляет указанный S3 bucket. Проверяет принадлежность бакета пользователю и его наличие в списке доступных.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Токен авторизации
id integer ID клиента (используется для админа)
s3uid string S3 UID пользователя
bucket_name string Имя удаляемого бакета

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE" \
--data "bucket_name=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_bucket",
"message": "Bucket deleted successfully"
}
Примеры ошибок

``` { "code": -1, "message": "Delete S3 bucket error: Bucket not found" }

```

s3/delete_file

Удаляет указанный файл из S3 бакета. Требуется валидный токен и идентификатор S3 аккаунта.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Авторизационный токен
s3uid string Идентификатор S3 аккаунта (S3UID)
bucket_name string Имя бакета
filename string Путь или имя файла для удаления

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE" \
--data "bucket_name=VALUE" \
--data "filename=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_file",
"message": "string"
}
Примеры ошибок

``` { "code": -1, "message": "Delete S3 file error: [ошибка]" }

```

s3/delete_payment_account

Инициирует процесс отмены сервиса S3, устанавливает дату завершения периода и отправляет уведомление клиенту.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Авторизационный токен пользователя
s3uid string Уникальный идентификатор S3 аккаунта
reason string Причина отмены/приостановки сервиса

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_payment_account",
"cancellation_date": "2024-12-31",
"cancellation_date_origin": "31.12.2024",
"reason_suspend": "User requested cancellation"
}
Примеры ошибок

``` { "code": -1, "message": "S3 account not found for this customer" }

```

s3/get_buckets

Возвращает список S3 бакетов, информацию о трафике и снапшотах для указанного аккаунта

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_buckets
token string Токен авторизации
id integer ID клиента (для админа)
s3uid string S3 UID аккаунта

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_buckets" \
--data "token=YOUR_TOKEN" \
--data "s3uid=YOUR_S3UID"
Пример успешного ответа
{
"result": "OK",
"action": "get_buckets",
"message": [
{
"Name": "my-bucket-name",
"usage": 1024
},
{
"Name": "test-bucket",
"usage": 512
}
],
"usage_storage": 1536,
"quota": 5000,
"metering": {
"total_traffic_gb": 10.5,
"total_storage_peak_gb": 2.4
},
"billing": {
"service_id": 123,
"currency": "EUR",
"period": {
"start": "2024-01-01T00:00:00Z",
"end": "2024-02-01T00:00:00Z"
},
"limits": {
"traffic_gb": 100,
"storage_gb": 500
},
"current_period": {
"traffic_used_gb": 1.2,
"storage_used_gb": 45.5,
"billed_traffic_gb": 0,
"billed_storage_gb": 0,
"billed_traffic_amount": 0,
"billed_storage_amount": 0
},
"overage": null,
"records": [],
"error": "billing_unavailable"
},
"access_key": "AKIAIOSFODNN7EXAMPLE",
"secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"endpoint": "s3.nl.hostkey.com"
}
Примеры ошибок

``` { "code": -1, "message": "S3 account not found for this customer" }

```

s3/get_buckets_rmq

Возвращает информацию о бакетах пользователя, включая их использование, квоты, данные биллинга и учетные данные доступа через RMQ.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_buckets_rmq
token string Токен авторизации
id int ID клиента (для администратора)
s3uid string Уникальный идентификатор S3 аккаунта

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_buckets_rmq" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_buckets_rmq",
"message": [
{
"name": "example-bucket",
"usage": 1024,
"status": "active"
}
],
"usage_storage": 5120,
"quota": 10240,
"metering": [
{
"date": "2023-10-01",
"traffic_gb": 1.5,
"storage_gb": 10.2
}
],
"billing": {
"service_id": 456,
"currency": "EUR",
"period": {
"start": "2023-10-01T00:00:00Z",
"end": "2023-11-01T00:00:00Z"
},
"limits": {
"traffic_gb": 50.0,
"storage_gb": 100
},
"current_period": {
"traffic_used_gb": 2.5,
"storage_used_gb": 15.0,
"billed_traffic_gb": 0,
"billed_storage_gb": 0,
"billed_traffic_amount": 0,
"billed_storage_amount": 0
},
"overage": null,
"records": [],
"error": "billing_unavailable"
},
"access_key": "AKIAIOSFODNN7EXAMPLE",
"secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"endpoint": "s3.nl.example.com"
}
Примеры ошибок

``` { "code": -1, "message": "S3 account not found for this customer" }

```

s3/get_files

Возвращает список файлов в S3 бакете с поддержкой пагинации и поиска

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_files
token string Токен авторизации
s3uid string Уникальный идентификатор S3 аккаунта
bucket_name string Имя бакета
continuation_token string Токен для пагинации (next page)
max_keys int Максимальное количество ключей в ответе
search string Поисковый запрос по имени файла

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_files" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE" \
--data "bucket_name=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_files",
"files": {
"items": [
{
"key": "folder/file.txt",
"original_key": "folder/file.txt",
"size": 1024,
"last_modified": "2024-05-20T12:00:00Z"
}
],
"folders": [
"folder/"
]
},
"next_token": "string_token"
}
Примеры ошибок

``` { "code": -1, "message": "S3 account not found for this customer" }

```

s3/get_users

Возвращает список пользователей S3 с фильтрацией по различным параметрам, включая информацию о трафике и деталями сервиса.

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_users
id int ID клиента (для админа) или ID пользователя
plan_id int ID тарифного плана
s3uid string S3 UID пользователя
email string Email пользователя для поиска
billing string Биллинг (локация)
storage_type string Тип хранилища
location string Локация (например, NL)
period_from string Дата начала периода (Y-m-d)
period_to string Дата окончания периода (Y-m-d)

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_users"
Пример успешного ответа
{
"result": "OK",
"action": "get_users",
"s3_users": [
{
"id": 123,
"s3uid": "abc123def456",
"email": "user@example.com",
"billing": "whmcs_itb",
"region": "NL",
"storage_type": "Standard",
"price": {
"EUR": 10.0,
"RUB": 950.0
},
"traffic": 15.5,
"storage_usage": 450.2,
"service": {
"id": 456,
"entity_id": 123,
"rate": 10.0,
"status": "active",
"period_start": "2024-01-01T00:00:00Z",
"period_end": "2025-01-01T00:00:00Z"
}
}
],
"s3_have_free_accounts": false,
"s3_tariff_upgrade_decided": false
}
Примеры ошибок

``` { "code": -1, "message": "customer not found" }

```

s3/history

Возвращает историю действий (логи) для указанного S3 аккаунта

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: history
id int ID S3 аккаунта (s3uid)
token string Токен авторизации

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=history" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"action": "history",
"data": [
{
"id": 123,
"message": "S3 service [ID=45] created",
"type": "BILLING",
"customer_id": 789,
"created_at": "2024-05-20T12:00:00Z"
}
]
}
Примеры ошибок

``` { "code": -1, "message": "\(module/\)action: invalid token, logout" }

```

s3/list_plans

Возвращает список доступных S3 тарифных планов с учетом налогов (VAT) и валюты пользователя. Для администраторов позволяет получить конкретный план по ID.

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: list_plans
token string Токен авторизации
id int ID конкретного плана (для администраторов)

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=list_plans" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "list_plans",
"plans": [
{
"id": 1,
"name": "Standard Plan",
"active": 1,
"storage_type": "standard",
"locations": "NL",
"price": {
"base_price": 10.0,
"EUR": 10.0,
"RUB": 950.0,
"USD": 11.0
},
"traffic_overage_price": {
"eur": 0.01,
"rub": 1.0
},
"storage_overage_price": {
"eur": 0.05,
"rub": 5.0
}
}
],
"vat": 20.0
}
Примеры ошибок

``` { "code": -1, "message": "action required" }

```

s3/show_key

Возвращает расшифрованный секретный ключ или публичный доступный ключ (access_key) для S3 аккаунта

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: show_key
token string Токен авторизации
s3uid string Уникальный идентификатор S3 аккаунта
s3_key string Тип запрашиваемого ключа (secret_key или access_key)

Пример запроса

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=show_key" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE" \
--data "s3_key=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "show_key",
"key": "AKIAIOSFODNN7EXAMPLE"
}
Примеры ошибок

``` { "code": -1, "message": "S3 account not found for this customer" }

```

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×