API от Большая Страна

С помощью API от Большая Страна партнёры могут получить данные о туристических услугах компании: 

  • представленные виды отдыха;
  • доступные туристические регионы;
  • подборки по тематикам;
  • подборки по датам;
  • поиск туров.

Формирование запроса к API

Доступ к API есть у всех партнёров Travelpayouts сразу после регистрации.

Каждый запрос должен содержать уникальный токен партнёра, который можно найти в разделе API личного кабинета.

Основной URL: https://api.travelpayouts.com/bolshayastrana/v1 

Большинство методов поддерживают постраничную выборку данных. Чтобы получать данные частями, необходимо в запросе передать параметры:

  • page – номер текущий страницы (начиная с 1);
  • limit – максимальное количество получаемых данных (максимальное значение 50, по-умолчанию 20).

В ответе приходит объект pagination, который содержит информацию о постраничной выборке:

"pagination": {
    "current_page": 1,
    "total_pages": 2,
    "total_items": 30,
    "per_page": 20
}

Описание ответа:

Поле ответа Описание Тип данных
current_page Номер текущей страницы integer
total_pages Общее количество страниц integer
total_items Общее количество элементов integer
per_page Количество элементов на страницах integer

Ссылки на фотографии

Ссылки на фотографии (поле photo) в ответах приходят с плейсхолдерами для размеров. Чтобы получить рабочую ссылку на фотографию, замените {{size}} на нужный размер. 

Поддерживаемые размеры:

140x90, 140x140, 150x95, 150x200, 165x200, 180x260, 200x200, 220x150, 220x220, 230x288, 280x180, 270x200, 270x270, 272x384, 280x280, 300x190, 300x200, 300x300, 300x400, 305x200, 330x400, 352x352, 360x250, 360x520, 374x86, 375x375, 400x400, 400x480, 440x300, 440x440, 460x576, 500x00, 540x400, 540x540, 544x768, 576x467, 600x400, 600x600, 600x800, 610x400, 644x460, 704x704, 710x375, 720x368, 720x500, 748x172, 750x750, 765x340, 768x226, 768x467, 800x960, 940x00, 1000x1000, 1060x460, 1136x467, 1152x934, 1536x934, 1200x00, 1200x410, 1200x628, 1288x920, 1420x736, 1536x452, 1920x420, 2120x920, 2272x934

Например, API возвращает URL вида: https://i.bolshayastrana.com/{{size}}/ed/a4/eda4ff281106f113161508c725299d10.jpeg

замените {{size}} на нужный, например на 140x140, получится URL вида: https://i.bolshayastrana.com/140x140/ed/a4/eda4ff281106f113161508c725299d10.jpeg.

Виды отдыха

Метод возвращает виды отдыха.

Запрос

GET /rest-kinds

  • onlyWithTours – получить только объекты, для которых есть опубликованные туры (по умолчанию 0).

Пример запроса: https://api.travelpayouts.com/bolshayastrana/v1/rest-kinds?token=ВашТокен&onlyWithTours=1

Ответ

{
    "pagination": {
        "current_page": 1,
        "total_pages": 22,
        "total_items": 22,
        "per_page": 1
    },
    "results": [
        {
            "id": 1,
            "name": "Яхтинг",
            "is_active": true,
            "is_excursion": true,
            "url": "<https://bolshayastrana.com/yahting>",
            "photo": "<https://i.bolshayastrana.com/{{size}>}/a4/a5/a4a5894f7f38c325905d324278543ebb.jpeg"
        }
    ]
}

Описание ответа:

Поле ответа Описание Тип данных
id ID записи integer
name Название string
is_active Может ли вид отдыха быть активным bool
is_excursion Может ли вид отдыха быть экскурсионным bool
url Ссылка на страницу поиска туров с фильтром string
photo Фотография string

Туристические регионы

Метод возвращает список туристических регионов.

Запрос

GET /regions

  • onlyWithTours – получить только объекты, для которых есть опубликованные туры (по умолчанию 0)

Пример запроса: https://api.travelpayouts.com/bolshayastrana/v1/regions?token=ВашТокен&onlyWithTours=1

Ответ

{
    "pagination": {
        "current_page": 1,
        "total_pages": 55,
        "total_items": 55,
        "per_page": 1
    },
    "results": [
        {
            "id": 1,
            "name": "Алтай",
            "name_where_to": "на Алтай",
            "name_where": "на Алтае",
            "countries": [
                {
                    "id": 1,
                    "name": "Россия",
                    "code": "RU",
                    "iso_code": null,
                    "world_parts": [
                        {
                            "id": 3,
                            "name": "Азия",
                            "url": "<https://bolshayastrana.com/aziya>",
                            "photo": null
                        }
                    ],
                    "url": "<https://bolshayastrana.com/rossiya>",
                    "photo": null
                }
            ],
            "url": "rossiya/altaj",
            "photo": "<https://i.wowtrip.me/{{size}>}/00/e7/00e705aa24373dd347a84a2a6919d2da.jpeg"
        }
    ]
}

Описание ответа:

Поле ответа Описание Тип данных
id ID записи integer
name Название string
name_where_to Название, построенное по принципу “На Алтай” или “В Адыгею” (куда?) string
name_where Название, построенное по принципу “На Алтае”, “В Адыгее” (где?) string
countries Список стран, к которым принадлежит данный регион Массив объектов-стран
slug ЧПУ string
photo Фотография string

Подборки по тематикам

Метод возвращает список подборок по тематикам.

Запрос

GET /thematic-collections

  • onlyWithTours – получить только объекты, для которых есть опубликованные туры (по умолчанию 0)

Пример запроса: https://api.travelpayouts.com/bolshayastrana/v1/thematic-collections?token=ВашТокен&onlyWithTours=1

Ответ

{
  "pagination": {
    "current_page": 1,
    "total_pages": 22,
    "total_items": 22,
    "per_page": 1
  },
  "results": [
    {
      "id": 39,
      "name": "Многодневные туры",
      "url": "<https://bolshayastrana.com/mnogodnevnye-tury>",
      "photo": "<https://i.bolshayastrana.com/{{size}>}/12/ab/12ab879f601ac0d089ce0c317cf21267.jpeg"
    }
  ]
}

Описание ответа:

Поле ответа Описание Тип данных
id ID записи integer
name Название string
url Ссылка на страницу поиска туров с фильтром string
photo Фотография string

Подборки по датам

Метод возвращает список подборок по датам.

Запрос

GET /calendar-collections

  • onlyWithTours – получить только объекты, для которых есть опубликованные туры (по умолчанию 0)

Пример запроса: https://api.travelpayouts.com/bolshayastrana/v1/calendar-collections?token=ВашТокен&onlyWithTours=1

Ответ

{
  "pagination": {
    "current_page": 1,
    "total_pages": 22,
    "total_items": 22,
    "per_page": 1
  },
  "results": [
    {
      "id": 18,
      "name": "Туры на 23 февраля",
      "url": "<https://bolshayastrana.com/tury-na-23-fevralya>",
      "photo": "<https://i.bolshayastrana.com/{{size}>}/82/0e/820ec083497e72d47eca0d0fc3a68ffa.jpeg"
    }
  ]
}

Описание ответа:

Поле ответа Описание Тип данных
id ID записи integer
name Название string
url Ссылка на страницу поиска туров с фильтром string
photo Фотография string

Поиск туров

Метод позволяет находить туры по заданным параметрам.

Запрос

GET /search

Параметры запроса:

  • slug – ЧПУ страницы (string);
  • continent – ID части света для поиска (integer);
  • regions – ID регионов (integer[]);
  • countries – ID стран (integer[]);
  • cities – ID городов (integer[]);
  • restKinds – ID видов отдыха (integer[]);
  • collections – ID коллекций (integer[]);
  • dateFrom – фильтрация по датам: дата начала. Формат: ГГГГ-ММ-ДД (string);
  • dateTo – фильтрация по датам: дата конца. Формат: ГГГГ-ММ-ДД (string);
  • daysMin – минимальная продолжительность тура (integer);
  • daysMax – максимальная продолжительность тура (integer);
  • priceMin – минимальная цена (integer);
  • priceMax – максимальная цена (integer);
  • pricePerDayMin – минимальная цена за один день тура (integer);
  • pricePerDayMax – максимальная цена за один день тура (integer);
  • difficulty – уровни сложности:
    • 1 - Базовый
    • 2 - Средний
    • 3 - Продвинутый
    • 4 - Сложный (integer[]);
  • accommodation – проживания. Передаются ЧПУ проживаний (string[]);
  • comfort – уровень комфорта (string[]);
  • months – ID месяцев (от 1 до 12) (integer[]);
  • lng – долгота (float);
  • lat – широта (float);
  • radius – радиус поиска (от 200 до 1500) (integer);
  • minAge – минимальный возраст (integer);
  • sort – сортировка, доступные значения
    • default – по умолчанию,
    • price, -price – по цене,
    • distance, -distance – по расстоянию (string).

Пример запроса: https://api.travelpayouts.com/bolshayastrana/v1/search?limit=3&slug=132&token=ВашТокен

Ответ

{
    "pagination": {
        "current_page": 2,
        "total_pages": 157,
        "total_items": 157,
        "per_page": 1
    },
    "results": [
        {
            "id": 2855,
            "url": "<https://bolshayastrana.com/kamchatka/kontrasty-kamchatki-puteshestvie-k-vulkanam-bez-ryukzakov-2855>",
            "image": "<https://i.bolshayastrana.com/{{size}>}/b1/e2/b1e2f9499ffee7bcc051e76fcb0fee36.jpeg",
            "title": "Контрасты Камчатки. Путешествие к вулканам без рюкзаков",
            "description": "<p>Очень насыщенное путешествие на Камчатку, в котором вы увидите неземные пейзажи районов активного вулканизма, кратерные кислотные озера, «дымящие» фумарольные поля, бурлящие водяные и грязевые котлы, альпийские луга с цветами и ягодниками, горные озера и водопады, морские просторы полуострова, искупаетесь в целебных водах горячих источников и совершите увлекательный сплав. При этом вам не придется нести на себе тяжеленные рюкзаки — восхождения к кратерам вулканов совершаются радиально.</p>\\n\\n<p><strong>Преимущества этого путешествия:</strong></p>\\n\\n<ul>\\n\\t<li>насладимся рыбалкой;</li>\\n\\t<li>пройдем три несложных порога во время сплава;</li>\\n\\t<li>совершим восхождение к кратерам активных вулканов Авачинский, Мутновский и Горелый;</li>\\n\\t<li>прогуляемся по горным циркам древнего потухшего вулкана Вачкажец;</li>\\n\\t<li>совершим морскую прогулку на яхте в бухту Русская и увидим Тихий океан.</li>\\n</ul>\\n",
            "currency": "RUB",
            "price": 91000,
            "price_without_discount": null,
            "discount_end_date": null,
            "discount_conditions": null,
            "regions": [
                {
                    "id": 13,
                    "name": "Камчатка",
                    "name_where_to": "на Камчатку",
                    "name_where": "на Камчатке",
                    "countries": [
                        {
                            "id": 1,
                            "name": "Россия",
                            "code": "RU",
                            "iso_code": null,
                            "world_parts": [
                                {
                                    "id": 3,
                                    "name": "Азия",
                                    "slug": null,
                                    "photo": null
                                }
                            ],
                            "slug": "rossiya",
                            "photo": null
                        }
                    ],
                    "slug": "kamchatka",
                    "photo": "<https://i.bolshayastrana.com/{{size}>}/92/50/92504baa05d10cb4f88703687d3e0194.jpeg"
                }
            ],
            "rest_kinds": [
                {
                    "id": 15,
                    "name": "Комбинированные туры",
                    "is_active": true,
                    "is_excursion": true,
                    "slug": "kombinirovannye-tury",
                    "photo": "<https://i.bolshayastrana.com/{{size}>}/01/a3/01a358229dc590d8cdebf37856334bed.jpeg"
                }
            ],
            "dates": [
                {
                    "id": 46770,
                    "from": "2022-01-01",
                    "to": "2022-01-12",
                    "price": 91000,
                    "price_without_discount": null,
                    "is_busy": false,
                    "flight_included": false,
                    "not_guaranteed": true,
                    "prepayment_type": {
                        "id": 2,
                        "name": "%"
                    },
                    "full_payment_days": 5,
                    "prepayment_size": 20,
                    "number_of_seats": 30,
                    "number_of_free_seats": 15
                }
            ],
            "min_age": null,
            "max_age": null,
            "difficulty": 2,
            "difficulty_description": null,
            "days": 12,
            "languages": [],
            "reviews": [
                {
                    "id": 1911,
                    "name": "Галина",
                    "rating": 5,
                    "date": "2021-01-12",
                    "body": "Организатор отторжения не вызвал. Стандартная качественная работа. Накладок не было.",
                    "type": "organizer",
                    "images": [],
                    "tour": null,
                    "reply_review": null
                }
            ],
            "reviews_count": 34,
            "rating": 5,
            "living_base": {
                "title": null,
                "description": null,
                "images": []
            },
            "livings": [
                {
                    "id": 8531,
                    "title": "Гостиница «База по приему юных туристов», г. Петропавловск-Камчатский",
                    "description": "<p>Это уютная мини-гостиница, расположенная в историческом центре города и способная вместить группу 20 человек. Во время учебного года она в основном используется спортивными секциями детского туризма, а в летний сезон принимает туристов. Здесь мы размещаем в двухместные, одноместные и трехместные номера. Санузел в каждом номере.</p>\\n",
                    "images": [
                        "<https://i.bolshayastrana.com/{{size}>}/9c/50/9c50eb74234078b9be205387316add83.jpeg",
                        "<https://i.bolshayastrana.com/{{size}>}/10/13/1013f8554d294db801594c4ce15948a4.jpeg",
                   ]
                }
            ],
            "is_comfort_base": true,
            "is_comfort_base_plus": false,
            "is_comfort_medium": false,
            "is_comfort_improved": false,
            "is_comfort_premium": false,
            "dates_available_by_request": false,
            "is_price_from": false,
            "main_activity": null,
            "guides": [],
            "cancellation_terms": null,
            "countries": [
                {
                    "id": 1,
                    "name": "Россия",
                    "code": "RU",
                    "iso_code": null,
                    "world_parts": [
                        {
                            "id": 3,
                            "name": "Азия",
                            "slug": null,
                            "photo": null
                        }
                    ],
                    "slug": "rossiya",
                    "photo": null
                }
            ],
            "are_dates_preliminary": 1,
            "is_organizer_guide": false,
            "group": null,
            "group_min": null,
            "group_max": null,
            "in_price": {
                "included": "<ul>\\n\\t<li>транспортные услуги по программе (на вулканах автобусы высокой проходимости типа Камаз, Урал, Зил, Газ-66);</li>\\n\\t<li>двухместное размещение в гостинице в Паратунке (преимущественно номера блочного типа) ‒ 2 ночи;</li>\\n\\t<li>двухместное размещение в гостиницах в г. Петропавловск-Камчатский ‒ 2 ночи;</li>\\n\\t<li>многоместное размещение в домиках под Авачинским вулканом ‒ 2 ночи;</li>\\n\\t<li>многоместное размещение в горном турприюте в районе вулканов Горелый и Мутновский ‒ 2 ночи;</li>\\n\\t<li>двух ‒ трехместное размещение в палатках ‒ 3 ночи;</li>\\n\\t<li>морская прогулка на яхте к бухте Русской;</li>\\n\\t<li>питание по программе;</li>\\n\\t<li>услуги гидов-инструкторов и повара;;</li>\\n\\t<li>групповое снаряжение (палатки, коврики-пенки, водное снаряжение, кемпинговая кухня и т.д.).</li>\\n</ul>\\n",
                "excluded": "<ul>\\n\\t<li>авиа- ж/д билеты до г. Петропавловск-Камчатский и обратно;</li>\\n\\t<li>ужины в городе (во время двух ночевок ‒ в начале и в конце тура);</li>\\n\\t<li>спальник в аренду (запрашивать при бронировании тура);</li>\\n\\t<li>спиртные напитки;</li>\\n\\t<li>страховка.</li>\\n</ul>\\n\\n<p><strong>Если Вы выбрали активную часть, то в стоимость не включено также:</strong></p>\\n\\n<ul>\\n\\t<li>трансфер из аэропорта и в аэропорт;</li>\\n\\t<li>размещение в гостинице в первые и последние сутки.</li>\\n</ul>\\n"
            },
            "gathering_place": "г. Петропавловск-Камчатский",
            "map": {
                "image": "<https://i.bolshayastrana.com/{{size}>}/b5/2d/b52db7c8173459c564816f18a9e2dadb.jpeg"
            },
            "program": [
                {
                    "day": 1,
                    "title": "Знакомство с городом Петропавловск-Камчатский",
                    "description": "<p><strong>Встреча в аэропорту,</strong> трансфер и размещение в гостинице.</p>\\n\\n<p>В этот день можно самостоятельно посмотреть исторический центр Петропавловска-Камчатского, прогуляться по Набережной, пройтись по Никольской сопке, посетить батарею Максутова и другие объекты истории города.</p>\\n\\n<p><strong>В 19:00 встреча с гидом</strong> в гостинице, обсуждение программы.</p>\\n\\n<p><em><strong>Питание не включено.</strong> Обед и ужин в этот день самостоятельно.</em></p>\\n",
                    "images": [
                        "<https://i.bolshayastrana.com/{{size}>}/63/b1/63b1383534378ead2a63dae82f3f7324.jpeg",
                        "<https://i.bolshayastrana.com/{{size}>}/1d/11/1d11bc8260c7f0c2559281279ef38df0.jpeg",
                  ]
                }
            ],
            "faq": [
                {
                    "question": "Список личных вещей, которые нужно взять с собой",
                    "answer": "<ol>\\n\\t<li>спальный мешок (можно у нас взять в аренду, но согласовать обязательно заранее, стоимость 1500 руб., и в этом случае рекомендуем привезти с собой вкладыш для спальника);</li>\\n\\t<li>хоба (пенопопа, подпопник – необязательно);</li>\\n\\t<li>треккинговые ботинки (обязательно непромокаемые);</li>\\n\\t<li>сменная обувь (кроссовки, кеды);</li>\\n\\t<li>сандалии или сланцы;</li>\\n\\t<li>куртка штормовка (мембранная и с капюшоном);</li>\\n\\t<li>плащ или костюм \\"дождевик\\" (только не полиэтиленовый, так как такой быстро порвётся);</li>\\n\\t<li>резиновые болотные сапоги для сплава (необязательно - мы выдаем резиновые бахилы, но рыбакам лучше иметь свои сапоги);</li>\\n\\t<li>гермосумка для сплава (необязательно - мы выдаем большие гермомешки);</li>\\n\\t<li>спиннинг (необязательно - на группу выдается несколько спиннингов);</li>\\n\\t<li>теплая одежда (желательно флисовая);</li>\\n\\t<li>легкая шапка, перчатки;</li>\\n\\t<li>небольшой рюкзачок для восхождений;</li>\\n\\t<li>треккинговые палки (телескопические палки складываются очень компактно и легко привозятся с собой);</li>\\n\\t<li>солнцезащитные очки;</li>\\n\\t<li>солнцезащитный крем;</li>\\n\\t<li>купальные принадлежности;</li>\\n\\t<li>личная аптечка;</li>\\n\\t<li>предметы личной гигиены;</li>\\n\\t<li>средство защиты от комаров;</li>\\n\\t<li>фонарик (желательно налобный).</li>\\n</ol>\\n\\n<p><strong>Внимание!</strong> Не приезжайте с чемоданами, так как чемодан на колесиках не влезет в гермомешок на сплаве. Удобно с большими рюкзаками или спортивными сумками.</p>\\n",
                    "active": true
                }
            ],
            "main_impressions": []
        }
    ]
}

Описание ответа:

Поля ответа Описание Тип данных
id ID тура integer
url Ссылка на тур на сайте Большая Страна string
image Ссылка на изображение string
title Заголовок string
description Описание string
currency Валюта в виде кода string
price Цена integer
priceWithoutDiscount Цена без скидки
0, если скидки нет
integer
discountEndDate Дата окончания скидки
null, если скидки нет
string
discountConditions Условия скидки (текст) string
regions Список регионов, к которым относится тур Список объектов-регионов
restKinds Список видов отдыха Список объектов - видов отдыха
dates Даты тура Список объектов - дат тура
minAge Минимальный возраст integer
maxAge Максимальный возраст integer
difficulty Уровень сложности integer
difficultyDescription Описание сложности string
days Количество дней integer
languages Языки, на которых будут разговаривать в туре Объект - язык
reviews Список отзывов (см. ниже) Список объектов-отзывов
reviewsCount Количество отзывов integer
rating Рейтинг тура float
livings Проживание Список объектов проживаний
isComfortBase Базовый уровень комфорта (палатки, кемпинги) boolean
isComfortBasePlus Простой уровень комфорта (гостевые дома) boolean
isComfortMedium Средний уровень комфорта (апартаменты, коттеджи) boolean
isComfortImproved Уровень комфорта выше среднего (виллы, лоджи) boolean
isComfortPremium Высокий уровень комфорта (глэмпинги, бутик-отели) boolean
datesAvailableByRequest Даты доступны по запросу boolean
isPriceFrom Отображать цену "ОТ" например, "от 1000 рублей" boolean
mainActivity Главная активность Объект - вид отдыха
guides Гиды (см. ниже) Список объектов гидов
cancellationTerms Условия отмены string
countries Список стран Список объектов стран
areDatesPreliminary Даты предварительные boolean
isOrganizerGuide Организатор - гид boolean
group Размер группы integer
groupMin Минимальный размер группы integer
groupMax Максимальный размер группы integer
inPrice Что включено и не включено в стоимость Объект вида:
{
"included": "строка",
"excluded": "строка"
}
gatheringPlace Место сбора группы string
map Карта объект {"url": "строка"}
program Программа тура Список объектов с полями id, titile, description
faq Список часто задаваемых вопросов Список объектов с полями question - string, answer - string, active - boolean
mainImpression Главные впечатления (см. ниже) Список объектов с полями title - string, description - string, image - string(url)

guides

{
  "id": 1,
  "first_name": "Иван",
  "last_name": "Иванов",
  "about": "Информация о гиде",
  "photo": "<https://i.bolshayastrana.com/{{size}>}/1a/cd/1acdd581b8a3ee2ed35d4e165561a0b1.jpeg"
}

Описание объекта:

Поля ответа Описание Тип данных
id ID гида integer
first_name Имя гида string
last_name Фамилия гида string
about Описание string
photo Ссылка на фото string

mainImpression

Пример ответа:

{
  "title": "Яркие пейзажи Байкала",
  "description": "Сделаем шикарные фото гротов, пещер, ледяных торосов и сталактитов",
  "image": "<https://i.bolshayastrana.com/{{size}>}/6b/e0/6be0a15c1b32b07307726b0aae397959.jpeg"
}

Описание объекта:

Поля ответа Описание Тип данных
title Заголовок string
description Описание string
image Ссылка на изображение string

reviews

Пример ответа:

{
  "id": 994,
  "name": "Иван Иванов",
  "rating": {
      "value": 5,
      "max": 5
  },
  "date": "2017-11-15",
  "body": "Все было супер! Я остался один с пятью девчонками! Но, Благодаря Лене Выжил! Спасибо! \\r\\nБайкал поразил своим простором, чистотой воды-убедился на личном опыте. Организация путешествия была на высшем уровне. Отдохнул телом и душой. \\r\\nСпасибо Вам за отдых!",
  "type": "organizer",
  "images": [],
  "reply_review": null
},

Описание объекта:

Поля ответа Описание Тип данных
id ID записи integer
name Имя туриста, оставившего отзыв string
rating.value Сколько звезд оставил турист integer
rating.max Максимальное количество звезд integer
date Дата в формате ГГГГ-ММ-ДД string
body Текст отзыва string
type Тип отзыва, может быть "tour" или "organizer" (отзыв о туре или отзыв об организаторе) string
images Список ссылок на изображения string[]
reply_review Ответ на отзыв (см. ниже) Объект ответ на отзыв

reply_review

Пример ответа:

{
  "title": "Ответ организатора",
  "message": "Спасибо вам за хороший отзыв!",
  "organizer_data": {
    "id": 3,
    "organizer": {
      "name": "Имя",
      "about": "Описание",
      "logo": "Ссылка на изображение"
    },
    "expert": {
      "first_name": "Представитель ",
      "about": "Описание",
      "photo": "Ссылка на изображение"
    }
  }
}

Описание объекта:

Поля ответа Описание Тип данных
title Заголовок string
message Текст ответа string
organizer_data Организатор (см. ниже) Объект организатор

organizer_data

{
  "id": 3,
  "organizer": {
    "name": "Имя",
    "about": "Описание",
    "logo": "Ссылка на изображение"
  },
  "expert": {
    "first_name": "Представитель ",
    "about": "Описание",
    "photo": "Ссылка на изображение"
  }
}
Поля ответа Описание Тип данных
id ID записи integer
organizer Информация об организаторе Объект организатор
expert Информация об эксперте Объект эксперт

Автодополнение для поиска

Метод позволяет воспользоваться автодополнением по названию для следующих объектов:

  • Части светы
  • Страны
  • Регионы
  • Города
  • Виды отдыха
  • Туры

Запрос

GET /search/autocomplete

Параметры запроса:

Параметр Назначение Тип данных
phrase (обязательный)

Часть названия объекта, минимальная длина – три символа

string
limit

Максимум, сколько вернуть результатов поиска, максимум 50.

По умолчанию: 10

integer
type (обязательный) Тип объекта, по которому происходит поиск string
format

Один из двух вариантов:

  • full – чтобы вернуть полную информацию
  • short (по умолчанию) – чтобы вернуть ID и название
string
onlyWithTours

Если значение 1, то вернутся только объекты, для которых есть опубликованные туры.

По умолчанию: 0

bool

Сопоставления объектов и их типов для автодополнения:

Название объекта Тип
Часть света world-parts
Страна countries
Регион regions
Город cities
Вид отдыха rest-kinds
Тур tours

Возвращается всегда массив объектов. Содержимое зависит от параметра format.

Пример выдачи для format=full

Примечание: возвращаемые объекты различаются для каждого объекта.

[
    {
        "id": 2,
        "name": "Архангельская область",
        "name_where_to": "в Архангельскую область",
        "name_where": "в Архангельской области",
        "countries": [
            {
                "id": 1,
                "name": "Россия",
                "code": "RU",
                "iso_code": "RUS",
                "world_parts": [
                    {
                        "id": 3,
                        "name": "Азия",
                        "slug": null,
                        "photo": null
                    }
                ],
                "slug": "rossiya",
                "photo": null
            }
        ],
        "url": "<https://bolshayastrana.com/arhangelskaya-oblast>",
        "photo": "<https://i.bolshayastrana.com/{{size}>}/39/13/3913afa99efda1c7edae2f270fe0b1af.jpeg"
    }
]

Пример выдачи для format=short

Формат ответа для short одинаковый для всех объектов.

[
    {
        "id": 2,
        "name": "Архангельская область"
    },
    {
        "id": 31,
        "name": "Архыз"
    }
]

Возможные ошибки

{
    "name": "Data Validation Failed",
    "code": 2,
    "detail": "Проверьте соответствие типов данных переданных параметров",
    "errors": [
        {
            "field_name": "phrase",
            "message": "Значение должно содержать минимум 3 символа."
        },
        {
            "field_name": "limit",
            "message": "Значение не должно превышать 50."
        },
        {
            "field_name": "format",
            "message": "Может быть только 'short' или 'full'."
        },
        {
            "field_name": "type",
            "message": "Неизвестный индекс."
        }
    ]
}