Trustmining API v1

Добро пожаловать в руководство по интеграции с платформой Trustmining. Наше API позволяет автоматизировать управление объявлениями в категории майнинг-оборудования (ASIC-майнеры).

🔑 Авторизация и Ограничения

Для работы с API вам необходим персональный токен доступа, который можно сгенерировать в личном кабинете. Аутентификация выполняется на базе технологии Laravel Sanctum.

⚠️

Важное требование

Каждый запрос к API обязан содержать заголовок Accept: application/json. Без него сервер вернет некорректный ответ в формате HTML вместо JSON.

Обязательные HTTP-заголовки
Authorization:
Bearer 1|plainTextTokenValue...
Accept:
application/json
Ограничение частоты (Rate Limit):

Максимум 60 запросов в минуту на один аккаунт. При превышении возвращается код 429 Too Many Requests.

GET /api/v1/ads/get — Получение списка объявлений ASIC-майнеров

Структура возвращаемых данных:

Поле Тип Описание / Валидация
id int Внутренний уникальный ID объявления в системе
name string Название модели ASIC-майнера
office string Город точки продаж
props object Объект со специфическими характеристиками товара
└ condition string Состояние устройства: new (новое) или used (Б/У)
└ availability string Статус наличия: in_stock (в наличии) или preorder (предзаказ)
└ warranty int|null Гарантия в месяцах. (обязательно, только если condition == used)
└ waiting int|null Срок ожидания поставки в днях. (обязательно, только если availability == preorder)
price int Стоимость единицы оборудования
coin string Валюта расчетов: rub, usdt или cny
with_vat boolean Включен ли НДС в указанную стоимость
hidden boolean Статус видимости: true (объявление скрыто), false (активно на сайте)

Пример успешного JSON-ответа (200 OK):

{
  "ads": [
    {
      "id": 1045,
      "name": "Bitmain Antminer S19 Pro 110Th",
      "office": "Москва",
      "props": {
        "condition": "used",
        "availability": "in_stock",
        "warranty": 3,
        "waiting": null
      },
      "price": 145000,
      "coin": "rub",
      "with_vat": false,
      "hidden": false
    },
    {
      "id": 1046,
      "name": "MicroBT Whatsminer M50 120Th",
      "props": {
        "condition": "new",
        "availability": "preorder",
        "warranty": null,
        "waiting": 14
      },
      "price": 1850,
      "coin": "usdt",
      "with_vat": true,
      "hidden": false
    }
  ]
}
POST /api/v1/ads/update — Массовое редактирование параметров объявлений
🚫

Ограничение на редактирование

Поля name, office, props.condition и props.availability являются нередактируемыми. Их изменение в этом методе заблокировано. Если вам нужно выставить товар с другим названием, состоянием или статусом наличия, вам необходимо создать абсолютно новое объявление.

Редактируемые параметры тела запроса (Payload):

Поле Тип Правила валидации
ads.id int Обязательное | Существующий ID вашего объявления
ads.price int Опционально | Целое положительное число (> 0)
ads.coin string Опционально | Допустимые значения: rub, usdt, cny
ads.with_vat boolean Опционально | Логическое значение (true/false)
ads.hidden boolean Опционально | Логическое значение (true/false)
ads.props.warranty int Опционально | Количество месяцев гарантии от 0 до 12 (только для Б/У)
ads.props.waiting int Опционально | Срок ожидания в днях от 1 до 120 (только для предзаказа)

Пример передаваемого JSON-массива в запросе:

{
  "ads": [
    {
      "id": 1045,
      "price": 149000,
      "hidden": false,
      "props": {
        "warranty": 6
      }
    },
    {
      "id": 1046,
      "price": 1810,
      "with_vat": false
    }
  ]
}