Skip to content

Latest commit

 

History

History
578 lines (517 loc) · 12.7 KB

api.md

File metadata and controls

578 lines (517 loc) · 12.7 KB

Buhurt Public API

Публичный интерфейс https://buhurt.ru предоставляет доступ к поиску и основным сущностям сайта.

Базовый адрес API: https://buhurt.ru/api

Доступ к публичному интерфейсу предоставляется только для чтения и не тебует авторизации.

Текущая версия API: v0.1.0

TODO

  • Списочные методы
  • Выборки по вторичным сущностям

Содержание

  1. Поиск
  2. Книги
  3. Фильмы
  4. Игры
  5. Альбомы

Search

Поиск по подстроке в полях name и alt_name основных сущностей. Возвращает до трёх результатов по каждой найденной сущности. Поиск НЕ морфологический.

  • Path: /search?query=query
  • Method: GET
  • Variables: string query
  • Response format: JSON

Search Request

https://buhurt.ru/api/search/?query=sword

Search Response

Example
{
  "status": "OK",
  "count": 5,
  "data": {
    "books": {
      "2024": {
        "id": 2024,
        "name": "Перси Джексон и меч Аида",
        "alt_name": [
          "Percy Jackson and the Sword of Hades"
        ]
      },
      "3482": {
        "id": 3482,
        "name": "Меч Рассвета",
        "alt_name": [
          "The Sword of the Dawn",
          "Меч зари",
          "Шпага зари"
        ]
      },
      "4058": {
        "id": 4058,
        "name": "Мечи Ланкмара",
        "alt_name": [
          "The Swords of Lankhmar"
        ]
      }
    },
    "films": {
      "588": {
        "id": 588,
        "name": "Меч в камне",
        "alt_name": [
          "The Sword in the Stone"
        ]
      },
      "687": {
        "id": 687,
        "name": "Меч чужака",
        "alt_name": [
          "Sword of the Stranger",
          "Stranger: Mukou Hadan"
        ]
      },
      "1664": {
        "id": 1664,
        "name": "Пароль «Рыба-меч»",
        "alt_name": [
          "Swordfish"
        ]
      }
    },
    "games": {
      "391": {
        "id": 391,
        "name": "Sword of the Berserk: Guts' Rage",
        "alt_name": [
          "Berserk Millennium Falcon Arc: Chapter of the Flowers of Oblivion"
        ]
      },
      "1135": {
        "id": 1135,
        "name": "Sword With Sauce",
        "alt_name": [
          ""
        ]
      },
      "1248": {
        "id": 1248,
        "name": "Broken Sword 5: The Serpent’s Curse",
        "alt_name": [
          ""
        ]
      }
    },
    "albums": {
      "1134": {
        "id": 1134,
        "name": "The Chronicles of the Black Sword    ",
        "alt_name": null
      },
      "1225": {
        "id": 1225,
        "name": "The Broadsword and the Beast",
        "alt_name": null
      }
    },
    "bands": {
      "184": {
        "id": 184,
        "name": "Sword Coast",
        "alt_name": null
      }
    }
  },
  "url": "https://buhurt.ru/api/search?query=sword",
  "errors": null
}

Books

Выборки книг.

Book

Выбор конкретной книги по id.

  • Path: /books/{id}
  • Method: GET
  • Variables: int id
  • Response format: JSON

Book Request

https://buhurt.ru/api/books/3482

Book Response

Example
{
  "id": 3482,
  "name": "Меч Рассвета",
  "alt_name": [
    "The Sword of the Dawn",
    "Меч зари",
    "Шпага зари"
  ],
  "description": "Искусные полководцы с чёрными душами кровью и железом установили власть над континентом, и вот уже последний уцелевший город Европы, Афины, охвачен огнём. Удалось спасти только замок Камарг, вовремя переместив его в другое измерение. Но когда в окрестностях замка был обнаружен гранбретанский лазутчик, стало понятно, что и здесь безопасность горстки выживших под большим вопросом. Чтобы окончательно отрезать путь к Камаргу, Хоукмун и д’Аверк возвращаются в поверженный мир.",
  "year": 1968,
  "verified": 1,
  "created_at": "2014-06-01 10:00:00",
  "updated_at": "2020-06-13 14:28:54",
  "cover": "/data/img/covers/books/3482.webp?hash=41f7e8020bd9c487a009dfcfbdca7261",
  "rating": {
    "average": 8,
    "count": 1
  },
  "simple_relations": [
    {
      "id": 12400,
      "relation_id": 2,
      "relation": "Приквел",
      "element_type": "Book",
      "element_id": 6718
    },
    {
      "id": 12410,
      "relation_id": 2,
      "relation": "Приквел",
      "element_type": "Book",
      "element_id": 7916
    },
    {
      "id": 12419,
      "relation_id": 1,
      "relation": "Сиквел",
      "element_type": "Book",
      "element_id": 6282
    },
    {
      "id": 12421,
      "relation_id": 1,
      "relation": "Сиквел",
      "element_type": "Book",
      "element_id": 7772
    },
    {
      "id": 12423,
      "relation_id": 1,
      "relation": "Сиквел",
      "element_type": "Book",
      "element_id": 8260
    },
    {
      "id": 12425,
      "relation_id": 1,
      "relation": "Сиквел",
      "element_type": "Book",
      "element_id": 7271
    }
  ],
  "genres": [
    {
      "id": 7,
      "name": "Фантастика и фэнтези"
    }
  ],
  "collections": [],
  "writers": [
    {
      "id": 5023,
      "name": "Майкл Муркок"
    }
  ],
  "books_publishers": [
    {
      "id": 2,
      "name": "Эксмо"
    }
  ],
  "rates": [
    {
      "id": 413,
      "user_id": 1,
      "rate": 8
    }
  ]
}

Films

Выборки фильмов.

Film

Выбор конкретного фильма по id.

  • Path: /films/{id}
  • Method: GET
  • Variables: int id
  • Response format: JSON

Film Request

https://buhurt.ru/api/films/1664

Film Response

Example
{
  "id": 1664,
  "name": "Пароль «Рыба-меч»",
  "alt_name": [
    "Swordfish"
  ],
  "description": "Гэбриэл Шир является одним из самых опасных шпионов в мире. В молодости он работал на ЦРУ, а теперь стал гениальным преступником. Теперь Гэбриэл хочет украсть миллиард долларов из не совсем легальных фондов, принадлежащих правительству США. Чтобы осуществить свой темный замысел, Гэбриэл нанимает талантливого хакера по имени Стенли Джобсон, отсидевшего срок за проникновение в компьютерную сеть ФБР.\r\n\r\nОставшийся без гроша за душой, Стенли принимает предложение Гэбриэла, и оказывается в самой гуще событий, которые не обещают ничего хорошего. Взявшись на реализацию плана, Стэнли внезапно осознает, что ему уготована роль пешки в большой опасной игре.",
  "year": 2001,
  "length": 99,
  "verified": 1,
  "created_at": "2014-06-01 10:00:00",
  "updated_at": "2020-06-13 14:27:12",
  "cover": "/data/img/covers/films/1664.webp?hash=d4f48140e738130f8804fdbf5e9c6cbc",
  "rating": {
    "average": 5,
    "count": 2
  },
  "simple_relations": [],
  "genres": [
    {
      "id": 20,
      "name": "Экшены"
    },
    {
      "id": 30,
      "name": "Криминал"
    },
    {
      "id": 45,
      "name": "Триллеры"
    }
  ],
  "collections": [
    {
      "id": 21,
      "name": "Хакеры"
    },
    {
      "id": 43,
      "name": "Ограбления"
    }
  ],
  "screenwriters": [
    {
      "id": 7287,
      "name": "Скип Вудс"
    }
  ],
  "directors": [
    {
      "id": 3157,
      "name": "Доминик Сена"
    }
  ],
  "producers": [
    {
      "id": 2896,
      "name": "Джонатан Д. Крэйн"
    },
    {
      "id": 3000,
      "name": "Джоэл Силвер"
    },
    {
      "id": 10392,
      "name": "Брюс Берман"
    }
  ],
  "actors": [
    {
      "id": 10304,
      "name": "Джон Траволта"
    },
    {
      "id": 17181,
      "name": "Хью Джекман"
    },
    {
      "id": 16395,
      "name": "Холли Берри"
    },
    {
      "id": 12199,
      "name": "Дон Чидл"
    },
    {
      "id": 7571,
      "name": "Сэм Шепард"
    },
    {
      "id": 11562,
      "name": "Винни Джонс"
    }
  ],
  "countries": [
    {
      "id": 1,
      "name": "Австралия"
    },
    {
      "id": 20,
      "name": "США"
    }
  ],
  "rates": [
    {
      "id": 1681,
      "user_id": 1,
      "rate": 6
    },
    {
      "id": 5513,
      "user_id": 305,
      "rate": 4
    }
  ]
}

Games

Выборки игр.

Game

Выбор конкретной игры по id.

  • Path: /games/{id}
  • Method: GET
  • Variables: int id
  • Response format: JSON

Game Request

https://buhurt.ru/api/games/391

Game Response

Example
{
  "id": 391,
  "name": "Sword of the Berserk: Guts' Rage",
  "alt_name": [
    "Berserk Millennium Falcon Arc: Chapter of the Flowers of Oblivion"
  ],
  "description": "Действие игры разворачивается в промежутке между событиями 22 и 23 частей манги, когда Гатс и Пак покинули Эльфхельм вместе с Каской, но до того, как они встретились с Фарнезой, Серпико и Исидро.",
  "year": 1999,
  "verified": 0,
  "created_at": "2019-06-10 15:09:26",
  "updated_at": "2020-06-13 14:34:02",
  "cover": "/data/img/covers/games/391.webp?hash=2d11455646f8bb6a676d61021a2c5a35",
  "rating": {
    "average": 0,
    "count": 0
  },
  "simple_relations": [
    {
      "id": 9321,
      "relation_id": 5,
      "relation": "Спин-офф",
      "element_type": "Book",
      "element_id": 17897
    }
  ],
  "genres": [
    {
      "id": 65,
      "name": "Экшен"
    },
    {
      "id": 59,
      "name": "Квесты"
    }
  ],
  "collections": [],
  "platforms": [
    {
      "id": 29,
      "name": "Sega Dreamcast",
      "pivot": {
        "game_id": 391,
        "platform_id": 29
      }
    }
  ],
  "developers": [
    {
      "id": 906,
      "name": "Yuke's Media Creations"
    }
  ],
  "games_publishers": [
    {
      "id": 11,
      "name": "Eidos Interactive"
    }
  ],
  "rates": []
}

Albums

Выборки альбомов.

Album

Выбор конкретного альбома по id.

  • Path: /albums/{id}
  • Method: GET
  • Variables: int id
  • Response format: JSON

Album Request

https://buhurt.ru/api/albums/518

Album Response

Example
{
  "id": 518,
  "name": "Стена",
  "year": 1994,
  "verified": 1,
  "created_at": "2014-06-01 10:00:00",
  "updated_at": "2020-06-13 14:27:30",
  "cover": "/data/img/covers/albums/518.webp?hash=552fdb2a7b353556cdb939c68d30e54b",
  "rating": {
    "average": 9,
    "count": 1
  },
  "simple_relations": [],
  "bands": [
    {
      "id": 306,
      "name": "Чёрный Обелиск"
    }
  ],
  "tracks": [
    {
      "id": 11627,
      "name": "Стена (настоящая)"
    },
    {
      "id": 11628,
      "name": "Дом желтого сна"
    },
    {
      "id": 11629,
      "name": "Цезарь"
    },
    {
      "id": 11630,
      "name": "Меч"
    },
    {
      "id": 11631,
      "name": "Серый святой (в рок'н'ролле)"
    },
    {
      "id": 11632,
      "name": "Игрок (акустический вариант)"
    },
    {
      "id": 11633,
      "name": "Болезнь"
    },
    {
      "id": 11634,
      "name": "Черный Обелиск"
    },
    {
      "id": 11635,
      "name": "Стена (акустический вариант)"
    }
  ],
  "rates": [
    {
      "id": 8135,
      "user_id": 1,
      "rate": 9
    }
  ]
}