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

s3.php

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

Методы API

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

s3/create_account

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=create_account" \
--data "token=HOSTKEY_TOKEN" \
--data "plan_id=VALUE" \
--data "bucket_name=VALUE" \
--data "location=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "create_account",
"s3uid": "s3-12345-abcde"
}
Примеры ошибок
{
"code": -1,
"message": "S3 account not found for this customer"
}

s3/create_bucket

Создает новый бакет в существующем S3 аккаунте.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: create_bucket
token string Токен авторизации
s3uid string Уникальный идентификатор S3 аккаунта
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": 200,
"body": "",
"headers": {}
}
}
Примеры ошибок
{
"code": -1,
"message": "Create bucket error: Bucket already exists"
}

s3/create_order

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

HTTP-метод: POST

Параметры:

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

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

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

s3/delete_account

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=delete_account" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_account",
"message": "Account deleted successfully"
}
Примеры ошибок
{
"code": -1,
"message": "Delete S3 account error: Account not found"
}

s3/delete_bucket

Удаляет указанный бакет из S3 аккаунта.

HTTP-метод: POST

Параметры:

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

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

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

s3/delete_file

Удаляет указанный файл из бакета S3.

HTTP-метод: POST

Параметры:

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

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

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

s3/delete_payment_account

Устанавливает дату прекращения обслуживания для оплачиваемого S3 аккаунта.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=delete_payment_account" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_payment_account",
"message": "Service termination scheduled"
}
Примеры ошибок
{
"code": -1,
"message": "Invalid service ID"
}

s3/get_buckets

Возвращает список бакетов пользователя через AWS API, включая информацию о трафике и снапшотах.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_buckets" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_buckets",
"message": [
{
"name": "my-bucket",
"creation_date": "2023-10-01T12:00:00Z"
}
],
"bandwidth": 102400,
"snapshot": {
"bandwidth_usage": 102400,
"storage_usage": 5368709120,
"created_at": "2023-10-27T10:00:00Z"
}
}
Примеры ошибок
{
"code": -1,
"message": "s3/get_buckets: Load bucket error: Access denied."
}

s3/get_buckets_rmq

Возвращает список бакетов через очередь сообщений (RMQ), включая детальную статистику использования и ключи доступа.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_buckets_rmq
token string Токен авторизации
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": "data-bucket",
"usage": 1073741824
}
],
"bandwidth": 204800,
"usage_storage": 1073741824,
"quota": 5368709120,
"snapshots": [
{
"bandwidth_usage": 204800,
"storage_usage": 1073741824,
"created_at": "2023-10-27T10:00:00Z"
}
],
"access_key": "AKIAIOSFODNN7EXAMPLE",
"secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
}
Примеры ошибок
{
"code": -1,
"message": "S3 account not found for this customer"
}

s3/get_files

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_files
token string Токен авторизации
s3uid string Уникальный идентификатор S3 аккаунта
bucket_name string Имя бакета
continuation_token string Токен для пагинации
max_keys int Максимальное количество файлов (до 100)
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": [
{
"key": "document.pdf",
"original_key": "document.pdf",
"size": 102400,
"last_modified": "2023-10-27T10:00:00Z"
}
],
"folders": [
{
"key": "images/"
}
],
"next_token": "eyJDb250aW51YXRpb25Ub2tlbiI6IkFCQzEyMyJ9"
}
Примеры ошибок
{
"code": -1,
"message": "Load S3 files error: Bucket not found"
}

s3/get_users

Возвращает список S3 пользователей с фильтрацией по плану, локации, email и статистикой трафика.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_users
token string Токен авторизации
id int ID клиента (для админа)
plan_id int Фильтр по ID плана
s3uid string Фильтр по S3UID
email string Фильтр по email
billing string Фильтр по локации биллинга
limit int Лимит записей
order string Поле сортировки
order_by string Направление сортировки (ASC/DESC)
period_from string Начало периода для трафика (YYYY-MM-DD)
period_to string Конец периода для трафика (YYYY-MM-DD)

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=get_users" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_users",
"s3_users": [
{
"id": 123,
"s3uid": "s3-12345",
"email": "user@example.com",
"plan_id": 5,
"location": "NL",
"traffic": 104857600,
"storage_usage": 524288000,
"service": {
"status": "active",
"termination_date": "2024-10-27"
}
}
]
}
Примеры ошибок
{
"code": -1,
"message": "customer not found"
}

s3/history

Возвращает историю изменений для указанного тарифного плана.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3.php" -X POST \
--data "action=history" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "history",
"data": []
}
Примеры ошибок
{
"code": -1,
"message": "s3/history: invalid command"
}

s3/list_plans

Возвращает список доступных тарифных планов S3 хранилища.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
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": "Basic S3",
"quota": 10737418240,
"active": 1,
"locations": [
"NL",
"DE"
],
"monthly_rub": 500,
"monthly_eur": 5.0,
"monthly_usd": 5.5,
"storage_type": "standard",
"bandwidth_limit": 0,
"price": {
"monthly_rub": 500,
"monthly_eur": 5.0,
"monthly_usd": 5.5
}
}
]
}
Примеры ошибок
{
"code": -1,
"message": "s3/list_plans: invalid request"
}

s3/show_key

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: show_key
token string Токен авторизации
s3uid string Уникальный идентификатор S3 аккаунта
s3_key string Тип ключа: 'access_key' или 'secret_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": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
}
Примеры ошибок
{
"code": -1,
"message": "invalid key"
}

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