Skip to content
This repository was archived by the owner on Jul 13, 2023. It is now read-only.

FrameMuse/StandoffMarket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

237 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API

API URL - https://api.standoffmarket.ru/api/v1/{method}

Market

market/list - Список продаваемых предметов, метод - GET

market/buy - Покупка предмета с маркета, метод - POST, параметры - ids

market/sell - Продажа предмет, метод - POST, параметры - {id: Айди оружия (StorageItem), file: Видео, golds: Количество голды}

market/update - Обновить цену предмета, метод - POST, параметры - {id: Айди оружия (StorageItem), price: Цена}

market/takeoff - Снять с продажи, метод - POST, параметры - {id: Айди оружия (StorageItem)}

market/next - Следующий шаг, метод - POST, параметры - {id: Айди предмета (StorageItem), data: название предмета либо без этого параметра, если не требуется}

User

user/notifications - Получить уведомления, метод - GET

user/clear_notification - Очистить уведомления, метод - POST

Chat

chat/find/{id} - Сообщения, метод - GET, {id} - Айди предмета (storage_item_id во вкладке "Купить", id - в профиле)

[
  {
    id: 1,
    sender_id: 1,
    message: "тест"
  }
]

chat/send - Отправить сообщение, метод - POST, параметры {id: Айди получателя, message: Сообщение, item_id: item.market_item_id}

Socket

type - Название event

CHAT_ADD_MESSAGE - Прилетает, после отправки сообщения, нужно добавлять в чат это сообщение, сравнивать по market_item_id, если market_item_id и предмет.market_item_id совпадают, то доьбавлять сообщение

Если sender_id и айди текущего пользователя совпадают, то сообщение отправлено текущем пользователем

{
  type: 'CHAT_ADD_MESSAGE',
  message: {
    id: 1,
    sender_id: 1,
    market_item_id: 1,
    message: 'тест'
  }
}

TICKET_ADD_MESSAGE - Прилетает, после отправки сообщения в тикет, нужно добавлять это сообщение в нужный тикет, по ticket_id

{
  type: 'TICKET_ADD_MESSAGE',
  ticket_id: 1,
  message: {
    id: 2,
    message: "Hi",
    created_at: "2020-07-28 02:54:48",
    sender_id: 1
  }
}

NOTIFICATION_ADD - Оповещение, если цена опустилась ниже n рублей

{
   "type":"NOTIFICATION_ADD",
   "notification":{
      "id":2,
      "text":"Цена на этот предмет опустилась ниже 20 ₽",
      "item":{
         "id":5670,
         "image":"https://standoffcase.ru/img/GHDtavc6W8-Screenshot_49.png",
         "class_name":"blue",
         "name":"AWM",
         "subname":"Phoenix"
      }
   }
}

BALANCE - Обновление баланса

{
   "type":"BALANCE",
   "balance": 1,
   "frozen_balance": 4
}

LIVE - Лайв лента

{
   "type":"LIVE",
   "items":[
      {
         "id":1,
         "item_id":5670,
         "storage_item_id":1,
         "user_id":3,
         "buyer_user_id":0,
         "price":10,
         "status":"NOTHING",
         "item":{
            "id":5670,
            "type":2,
            "class_name":"blue",
            "image":"https://standoffcase.ru/img/GHDtavc6W8-Screenshot_49.png",
            "name":"AWM",
            "subname":"Phoenix",
            "price":2,
            "weapon":{
               "id":1,
               "name":"AWM",
               "description":"описание...",
               "rarity":1
            }
         }
      }
   ]
}

Weapon

weapon/info/{id} - Получить информацию о предмете, метод - GET

{
   "id":1,
   "user_id":1,
   "buyer_user_id":1,
   "price":20,
   "last":[
      2,
      40,
      60,
      20
   ],
   "notifiers_count":1,
   "notifiers":[
      20
   ],
   "items":[
      {
         "id":2,
         "item_id":5670,
         "storage_item_id":1,
         "user_id":3,
         "buyer_user_id":0,
         "price":60,
         "status":"NOTHING"
      }
   ],
   "chat":[
      {
         "id":1,
         "sender_id":1,
         "receiver_id":1,
         "message":"тест"
      }
   ],
   "item":{
      "id":5670,
      "type":2,
      "class_name":"blue",
      "image":"https://standoffcase.ru/img/GHDtavc6W8-Screenshot_49.png",
      "name":"AWM",
      "subname":"Phoenix",
      "price":2,
      "weapon":{
         "id":1,
         "name":"AWM",
         "description":"описание...",
         "rarity":1
      }
   }
}

weapon/update/{id} - Получить информацию о предмете, метод - GET

{
   "id":3,
   "user_id":1,
   "item_id":5670,
   "status":"RESERVE",
   "avg":60, // Рекомендуемая цена
   "min":60, // Минимальная цена
   "fast":-1, // Моментальная цена для продажи, если -1, то нету
   "price": 20.06, // Текущая цена
   "item":{
      "id":5670,
      "type":2,
      "class_name":"blue",
      "image":"https://standoffcase.ru/img/GHDtavc6W8-Screenshot_49.png",
      "name":"AWM",
      "subname":"Phoenix",
      "price":2
   }
}

Ticket

ticket/list - Получить список тикетов и категорий

{
   "tickets":{
      "OPEN":[
         {
            "id":2,
            "created_at":"2020-07-28 02:54:48",
            "category":{
               "id":1,
               "text":"problem"
            },
            "messages":[
               {
                  "id":2,
                  "message":"Hi",
                  "created_at":"2020-07-28 02:54:48",
                  "sender_id": 1
               }
            ]
         },
         {
            "id":1,
            "created_at":"2020-07-27 21:00:00",
            "category":{
               "id":1,
               "text":"problem"
            },
            "messages":[
               {
                  "id":1,
                  "message":"Привет !!",
                  "created_at":"2020-07-27 21:00:00",
                  "sender_id": 1
               }
            ]
         }
      ]
   },
   "categories":[
      {
         "id":1,
         "text":"problem"
      }
   ]
}

ticket/create - Создать тикет, метод - POST, параметры - {category: Айди категории, message: Сообщение}. После запроса, добавлять в список тикетов ответ

{
   "id":2,
   "created_at":"2020-07-28 02:54:48",
   "category":{
      "id":1,
      "text":"problem"
   },
   "messages":[
      {
         "id":2,
         "message":"Hi",
         "created_at":"2020-07-28 02:54:48",
         "sender_id": 1
      }
   ]
}

ticket/send - Отправить сообщение, метод - POST, параметры - {id: айди тикета, message: Сообщение}

Admin

user/find - Найти пользователя по id или имени, метод - POST, параметры - {value: айди или имя}