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

s3.php

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

Методы API

Метод Действие Описание
create_account создание аккаунта Создает новый бесплатный S3 аккаунт для клиента, включая создание бакета и учетных данных.
create_bucket создание бакета Создает новый бакет в существующем S3 аккаунте.
delete_account удаление аккаунта Полностью удаляет S3 аккаунт и все связанные с ним данные.
delete_bucket удаление бакета Удаляет указанный бакет из S3 аккаунта.
delete_file удаление файла Удаляет указанный файл из бакета.
get_available_locations получение локаций Возвращает список доступных географических локаций для размещения S3 хранилищ.
get_buckets_rmq получение бакетов (RMQ) Возвращает список бакетов с информацией об использовании хранилища и трафика через RMQ.
get_files получение файлов Возвращает список файлов и папок в указанном бакете с поддержкой пагинации и поиска.
get_users получение пользователей Возвращает список S3 аккаунтов пользователя или всех пользователей (для администратора) с информацией о трафике.
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" -X POST \
--data "action=create_account" \
--data "token=HOSTKEY_TOKEN" \
--data "plan_id=VALUE" \
--data "bucket_name=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "create_account",
"s3uid": "s3-12345-abcde"
}
Примеры ошибок
{
"code": -1,
"message": "S3 account was creating, however bucket create error - Bucket already exists"
}

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" -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": "Response body from S3",
  "headers": {}
}
}
Примеры ошибок
{
"code": -1,
"message": "s3/create_bucket: customer not found"
}

s3/delete_account

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

HTTP-метод: POST

Параметры:

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

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

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

s3/delete_bucket

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

HTTP-метод: POST

Параметры:

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

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

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

s3/delete_file

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3" -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/get_available_locations

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

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_available_locations
- - - Других параметров нет

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

curl -s "https://invapi.hostkey.ru/s3" -X GET \
--data "action=get_available_locations"
Пример успешного ответа
{
"result": "OK",
"action": "get_available_locations",
"message": [
  "NL",
  "DE",
  "US",
  "RU"
]
}
Примеры ошибок
{
"code": -1,
"message": "s3/get_available_locations: invalid command"
}

s3/get_buckets_rmq

Возвращает список бакетов с информацией об использовании хранилища и трафика через RMQ.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3" -X POST \
--data "action=get_buckets_rmq" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_buckets_rmq",
"message": [
  {
    "name": "my-bucket",
    "usage": 1048576,
    "created_at": "2023-10-01T12:00:00Z"
  }
],
"bandwidth": 5242880,
"usage_storage": 1048576,
"quota": 10737418240,
"snapshots": [
  {
    "bandwidth_usage": 5242880,
    "storage_usage": 1048576,
    "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" -X POST \
--data "action=get_files" \
--data "token=HOSTKEY_TOKEN" \
--data "s3uid=VALUE" \
--data "bucket_name=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_files",
"files": [
  {
    "key": "folder/file.txt",
    "original_key": "folder/file.txt",
    "size": 1024,
    "last_modified": "2023-10-27T10:00:00Z"
  }
],
"folders": [
  {
    "key": "folder/"
  }
],
"next_token": "eyJDb250aW51YXRpb25Ub2tlbiI6IkFCQzEyMyJ9"
}
Примеры ошибок
{
"code": -1,
"message": "Load S3 files error: Bucket not found"
}

s3/get_users

Возвращает список S3 аккаунтов пользователя или всех пользователей (для администратора) с информацией о трафике.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3" -X POST \
--data "action=get_users" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_users",
"s3_users": [
  {
    "id": 123,
    "s3uid": "s3-12345-abcde",
    "email": "user@example.com",
    "plan_id": 5,
    "region": "NL",
    "quota": 10737418240,
    "traffic": 5242880,
    "storage_usage": 1048576,
    "created_at": "2023-10-01T12:00:00Z"
  }
]
}
Примеры ошибок
{
"code": -1,
"message": "customer not found"
}

s3/list_plans

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

HTTP-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/s3" -X GET \
--data "action=list_plans" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "list_plans",
"plans": [
  {
    "id": 1,
    "name": "Free Plan",
    "quota": 1073741824,
    "active": 1,
    "locations": "NL,DE",
    "storage_type": "standard",
    "bandwidth_limit": 0,
    "monthly_rub": 0,
    "monthly_eur": 0,
    "monthly_usd": 0,
    "traffic_overage_price_rub": 0,
    "traffic_overage_price_eur": 0,
    "traffic_overage_price_usd": 0,
    "storage_overage_price_rub": 0,
    "storage_overage_price_eur": 0,
    "storage_overage_price_usd": 0,
    "price": {
      "rub": 0,
      "eur": 0,
      "usd": 0
    }
  }
]
}
Примеры ошибок
{
"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" -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": "s3/show_key: customer not found"
}

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