Документация CrossList API
Содержание
- Введение
- 1. Список запчастей соответствующих артикульному номеру
- 2. Список предложений по артикулу и бренду
- 3. Список марок авто
- 4. Список моделей авто
- 5. Список модификаций авто
- 6. Полное дерево категорий запчастей для заданного типа авто
- 7. Список подкатегорий для выбранной категории
- 8. Список предложений для выбранной категрии запчастей и заданного типа авто
- 9. Защита от интдексации поисковыми системами Yandex, Google и т.д.
Описание
Введение
CrossList API позволяет создать полноценный интернет-магазин автозапчастей, используя базу сервиса CrossList.by, либо просто интегрировать каталог и систему подбора запчастей CrossList.by себе на сайт.
Кроме того, дотупен более простой способ интеграции нашего каталога запчастей к себе на сайт (подробнее тут: http://www.crosslist.by/demo-catalog-crosslist/).
Доступ к API обеспечивается через протокол HTTP. Все результаты возвращаются в формате JSON.
Для доступа к API в каждом запросе необходимо передавать специальный ключ api_key, который может получить любой клиент CrossList.by с активной подпиской, написав на support@crosslist.by
Пример результата в случае какой-либо ошибки:
{ "error":"Неверный api_key" }
1. Список запчастей соответствующих артикульному номеру
Адрес сервиса:
http://srv1.crosslist.by/api/get-articles
Параметры:
Название | Тип | Описание |
---|---|---|
article | строка | Каталожный или оригинальный номер запчасти, которую вы ищете |
Пример (Получение всех запчастей с номером «OC115»):
http://srv1.crosslist.by/api/get-articles?article=OC115&api_key=<ваш ключ>
Пример результата:
[
{
"article":"OC 115",
"article_lookup":"OC115",
"brand":"KNECHT",
"title":"Масляный фильтр"
},
{
"article":"OC 115",
"article_lookup":"OC115",
"brand":"MAHLE FILTER",
"title":"Масляный фильтр"
}
]
2. Список предложений по артикулу и бренду
Адрес сервиса:
http://srv1.crosslist.by/api/get-offers
Параметры:
Название | Тип | Описание |
---|---|---|
article_lookup | строка | Упрощённый вариант каталожного номера (только из букв/цифр – без пробелов/точек/тире и т.п.) |
brand | строка | Название бренда запчасти. Если этот параметр не задан – происходит поиск по OEM (оригинальному номеру) |
ip | string | Обязательный параметр! Передается IP пользователя, делающего запрос. К примеру, в PHP его можно получить при помощи переменной $_SERVER['REMOTE_ADDR']. Используется для предотвращения «накрутки» запросов, помогает защитить ваш каталог от пользователей и ботов, которые пытаются спамить запросами. |
Пример (Получение предложений для запчасти «BOGE 27-H37-A»):
http://srv1.crosslist.by/api/get-offers?article_lookup=27H37A&brand=BOGE&ip=205.02.186.32&api_key=<ваш ключ>
Пример результата:
3. Список марок авто
Адрес сервиса:
http://srv1.crosslist.by/api/get-manufacturers
Параметры:
без параметров
Пример (Получение всех марок авто):
http://srv1.crosslist.by/api/get-manufacturers?api_key=<ваш ключ>
Пример результата (результат скоращен):
[
{
"manufacturer_id":"1213",
"title":"ACURA",
"image":"\/images\/manufacturers\/acura.gif"
},
{
"manufacturer_id":"502",
"title":"ALFA ROMEO",
"image":"\/images\/manufacturers\/alfaromeo.gif"
},
{
"manufacturer_id":"504",
"title":"AUDI",
"image":"\/images\/manufacturers\/audi.gif"
},
{
"manufacturer_id":"511",
"title":"BMW",
"image":"\/images\/manufacturers\/bmw.gif"
},
{
"manufacturer_id":"849",
"title":"BUICK",
"image":"\/images\/manufacturers\/buick.gif"
},
{
"manufacturer_id":"852",
"title":"CADILLAC",
"image":"\/images\/manufacturers\/cadillac.gif"
},
{
"manufacturer_id":"602",
"title":"CHEVROLET",
"image":"\/images\/manufacturers\/chevrolet.gif"
},
{
"manufacturer_id":"513",
"title":"CHRYSLER",
"image":"\/images\/manufacturers\/chrysler.gif"
},
{
"manufacturer_id":"514",
"title":"CITROËN",
"image":"\/images\/manufacturers\/citroen.gif"
},
{
"manufacturer_id":"603",
"title":"DACIA",
"image":"\/images\/manufacturers\/dacia.gif"
},
{
"manufacturer_id":"649",
"title":"DAEWOO",
"image":"\/images\/manufacturers\/daewoo.gif"
},
{
"manufacturer_id":"517",
"title":"DAIHATSU",
"image":"\/images\/manufacturers\/daihatsu.gif"
},
{
"manufacturer_id":"521",
"title":"DODGE",
"image":"\/images\/manufacturers\/dodge.gif"
},
{
"manufacturer_id":"524",
"title":"FIAT",
"image":"\/images\/manufacturers\/fiat.gif"
}
]
4. Список моделей авто
Адрес сервиса:
http://srv1.crosslist.by/api/get-models
Параметры:
Название | Тип | Описание |
---|---|---|
manufacturer_id | int | ID марки автомобиля, для которого нужно получить список моделей |
Пример (Получение всех моделей «LAND ROVER»):
http://srv1.crosslist.by/api/get-models?manufacturer_id=1292&api_key=<ваш ключ>
Пример результата:
[
{
"model_id":"4675",
"title":"88\/109",
"year_start":"1963.09",
"year_end":"1986.12"
},
{
"model_id":"4676",
"title":"88\/109 Hardtop",
"year_start":"1963.09",
"year_end":"1986.12"
},
{
"model_id":"4674",
"title":"90\/110 (DHMC)",
"year_start":"1983.09",
"year_end":"1990.07"
},
{
"model_id":"4672",
"title":"DEFENDER (LD)",
"year_start":"1990.09",
"year_end":null
},
{
"model_id":"4673",
"title":"DEFENDER Station Wagon (LD)",
"year_start":"1990.09",
"year_end":null
},
{
"model_id":"5034",
"title":"DEFENDER пикап (LD_)",
"year_start":"1995.10",
"year_end":null
},
{
"model_id":"4671",
"title":"DISCOVERY I (LJ, LG)",
"year_start":"1989.10",
"year_end":"1998.10"
},
{
"model_id":"4670",
"title":"DISCOVERY II (LJ, LT)",
"year_start":"1998.11",
"year_end":"2004.06"
},
{
"model_id":"5160",
"title":"DISCOVERY III (TAA)",
"year_start":"2004.07",
"year_end":null
},
{
"model_id":"9015",
"title":"DISCOVERY IV (LA)",
"year_start":"2009.09",
"year_end":null
},
{
"model_id":"4678",
"title":"FREELANDER (LN)",
"year_start":"1998.02",
"year_end":null
},
{
"model_id":"5603",
"title":"FREELANDER 2 (FA_)",
"year_start":"2006.10",
"year_end":null
},
{
"model_id":"4677",
"title":"FREELANDER Soft Top",
"year_start":"1998.02",
"year_end":null
},
{
"model_id":"9576",
"title":"RANGE ROVER EVOQUE",
"year_start":"2011.06",
"year_end":null
},
{
"model_id":"4669",
"title":"RANGE ROVER I (AE, AN, HAA, HAB, HAM, HBM, RE, RN)",
"year_start":"1970.07",
"year_end":"1994.07"
},
{
"model_id":"4668",
"title":"RANGE ROVER II (LP)",
"year_start":"1994.07",
"year_end":"2002.03"
},
{
"model_id":"4869",
"title":"RANGE ROVER III (LM)",
"year_start":"2002.03",
"year_end":null
},
{
"model_id":"5437",
"title":"RANGE ROVER SPORT (LS)",
"year_start":"2005.02",
"year_end":null
}
]
5. Список модификаций авто
Адрес сервиса:
http://srv1.crosslist.by/api/get-modifications
Параметры:
Название | Тип | Описание |
---|---|---|
model_id | int | ID модели, для которой необходимо получить список модификаций |
Пример (Получение всех модификаций для модели LAND ROVER – «DISCOVERY III (TAA)»):
http://srv1.crosslist.by/api/get-modifications?model_id=5160&api_key=<ваш ключ>
Пример результата:
[
{
"modification_id":"18239",
"title":"2.7 TD",
"year_start":"2004.07",
"year_end":null,
"body":"вездеход закрытый",
"engine":"Дизель",
"volume":"2720 мл.",
"power":"190 л.с."
},
{
"modification_id":"18238",
"title":"4.4",
"year_start":"2004.07",
"year_end":null,
"body":"вездеход закрытый",
"engine":"Бензиновый двигатель",
"volume":"4394 мл.",
"power":"299 л.с."
},
{
"modification_id":"33026",
"title":"5.0 V8",
"year_start":"2009.09",
"year_end":null,
"body":"вездеход закрытый",
"engine":"Бензиновый двигатель",
"volume":"4999 мл.",
"power":"375 л.с."
}
]
6. Полное дерево категорий запчастей для заданного типа авто
Адрес сервиса:
http://srv1.crosslist.by/api/get-search-tree
Параметры:
Название | Тип | Описание |
---|---|---|
modification_id | int | ID модификации авто, для которого необходимо получить дерево категорий запчастей |
Пример (Получение полного дерева категорий запчастей для модификации LAND ROVER DISCOVERY III (TAA) – «5.0 V8»):
http://srv1.crosslist.by/api/get-search-tree?modification_id=33026&api_key=<ваш ключ>
Пример результата (результат скоращен):
[
{
"node_id":"10441",
"title":"Внутренняя отделка",
"children":[
{
"node_id":"12797",
"title":"Багажник \/ помещение для груза",
"children":[
]
}
]
},
{
"node_id":"10500",
"title":"Главная передача",
"children":[
{
"node_id":"12096",
"title":"Масла",
"children":[
]
}
]
},
{
"node_id":"10102",
"title":"Двигатель",
"children":[
{
"node_id":"10483",
"title":"Система подачи воздуха",
"children":[
{
"node_id":"10484",
"title":"Воздушный фильтр\/корпус воздушного фильтра",
"children":[
]
}
]
},
{
"node_id":"10345",
"title":"Система смазки",
"children":[
{
"node_id":"12094",
"title":"Масла",
"children":[
]
},
{
"node_id":"10570",
"title":"Масляный фильтр",
"children":[
]
}
]
}
]
},
{
"node_id":"10119",
"title":"Детали для сервиса \/ проверки \/ ухода",
"children":[
{
"node_id":"10698",
"title":"Дополнительные работы",
"children":[
]
},
{
"node_id":"10697",
"title":"Интервал регулировки",
"children":[
]
}
]
},
{
"node_id":"10833",
"title":"Комплектующие",
"children":[
{
"node_id":"10962",
"title":"Багажник \/ пространство для груза",
"children":[
]
}
]
},
{
"node_id":"10343",
"title":"Кондиционер",
"children":[
{
"node_id":"10454",
"title":"Компрессор\/детали",
"children":[
]
},
{
"node_id":"10457",
"title":"Осушитель",
"children":[
]
}
]
},
{
"node_id":"10338",
"title":"Коробка передач",
"children":[
{
"node_id":"10340",
"title":"Автоматическая коробка передач",
"children":[
{
"node_id":"11915",
"title":"Масла",
"children":[
]
}
]
},
{
"node_id":"10339",
"title":"Ступенчатая коробка передач",
"children":[
{
"node_id":"12093",
"title":"Масла",
"children":[
]
}
]
}
]
},
{
"node_id":"10101",
"title":"Кузов",
"children":[
{
"node_id":"11805",
"title":"Автомобиль, задняя часть",
"children":[
{
"node_id":"11845",
"title":"Детали крепления",
"children":[
{
"node_id":"11852",
"title":"Упругие элементы",
"children":[
]
}
]
}
]
},
{
"node_id":"11748",
"title":"Автомобиль, передняя часть",
"children":[
{
"node_id":"11773",
"title":"Детали крепления",
"children":[
{
"node_id":"11877",
"title":"Упругие элементы",
"children":[
]
}
]
},
{
"node_id":"11756",
"title":"Основная фара \/ комплектующие",
"children":[
{
"node_id":"11758",
"title":"Лампа накаливания основной фары",
"children":[
]
}
]
},
{
"node_id":"11755",
"title":"Переднее стекло",
"children":[
]
},
{
"node_id":"11765",
"title":"Фара дальнего света \/ комплектующие",
"children":[
{
"node_id":"11767",
"title":"Лампа накаливания фара дальнего света",
"children":[
]
}
]
}
]
},
{
"node_id":"11440",
"title":"Дополнительная фара\/ комплектующие",
"children":[
{
"node_id":"11445",
"title":"Фара дальнего света \/ комплектующие",
"children":[
{
"node_id":"11447",
"title":"Лампа накаливания фара дальнего света",
"children":[
]
}
]
}
]
},
{
"node_id":"11790",
"title":"Кабина пассажира",
"children":[
{
"node_id":"11800",
"title":"Детали крепления",
"children":[
{
"node_id":"11803",
"title":"Упругие элементы",
"children":[
]
}
]
}
]
},
{
"node_id":"11565",
"title":"Основная фара \/ комплектующие",
"children":[
{
"node_id":"11567",
"title":"Лампа накаливания основной фары",
"children":[
]
}
]
},
{
"node_id":"10844",
"title":"Остекление \/ зеркала",
"children":[
{
"node_id":"10845",
"title":"Остекление",
"children":[
{
"node_id":"10667",
"title":"Оконные стекла",
"children":[
]
}
]
}
]
},
{
"node_id":"11507",
"title":"Система освещения \/ сигнализация",
"children":[
{
"node_id":"11520",
"title":"Фонарь указателя поворота \/ комплектующие",
"children":[
{
"node_id":"11523",
"title":"Лампа накаливания",
"children":[
]
}
]
}
]
},
{
"node_id":"10926",
"title":"Упругие элементы",
"children":[
]
}
]
}
]
7. Список подкатегорий для выбранной категории
Адрес сервиса:
http://srv1.crosslist.by/api/get-search-tree-node
Параметры:
Название | Тип | Описание |
---|---|---|
modification_id | int | ID модификации авто, для которого необходимо получить дерево категорий запчастей |
node_id (не обязательный параметр) | int | ID категории запчастей, для которой необходимо получить список подкатегорий. Если node_id не задан – выводится список категорий первого уровня. |
Пример (Получение подкатегорий для категрии запчастей «фильтр» и модификации авто LAND ROVER DISCOVERY III (TAA) – «5.0 V8»):
http://srv1.crosslist.by/api/get-search-tree-node?modification_id=33026&node_id=10105&api_key=<ваш ключ>
Пример результата:
[
{
"node_id":"10360",
"title":"Воздушный фильтр",
"has_children":false
},
{
"node_id":"10362",
"title":"Гидравлический фильтр",
"has_children":false
},
{
"node_id":"10359",
"title":"Масляный фильтр",
"has_children":false
},
{
"node_id":"10363",
"title":"Фильтр салона",
"has_children":false
}
]
8. Список предложений для выбранной категрии запчастей и заданного типа авто
Адрес сервиса:
http://srv1.crosslist.by/api/get-offers
Параметры:
Название | Тип | Описание |
---|---|---|
modification_id | int | ID модификации авто, для которого необходимо получить список предложений |
node_id | int | ID категории запчастей, для которой необходимо получить список предложений. |
manufacturer_id | int | ID марки автомобиля, для которого нужно получить список предложений. |
ip | string | Обязательный параметр! Передается IP пользователя, делающего запрос. К примеру, в PHP его можно получить при помощи переменной $_SERVER['REMOTE_ADDR']. Используется для предотвращения «накрутки» запросов, помогает защитить ваш каталог от пользователей и ботов, которые пытаются спамить запросами. |
Пример (Получение предложений для категрии запчастей «фильтр», марки авто LAND ROVER и модификации «DISCOVERY III (TAA) 5.0 V8»):
http://srv1.crosslist.by/api/get-offers?modification_id=33026&node_id=10105&manufacturer_id=1292&ip=205.02.186.32&api_key=<ваш ключ>
Пример результата:
9. Защита от интдексации поисковыми системами Yandex, Google и т.д.
Индексация поисковыми системами может стать большой проблемой при интеграции через API. Поисковик будет пытаться проиндексировать каталог, отправляя миллионы запросов на сервер, после чего сервер будет вынужден заблокировать владельца API-ключа. Кроме того, это может вылиться в большие затраты для всех, кто на находится на тарифном плане с лимитированным количеством запросов.
Для того чтобы запретить индексацию страниц каталога и предотвратить чрезмерное количество запросов на сервер, необходимо произвести следующие настройки.
1. В корневой директории сайта необходимо создать файл «robots.txt», в котором прописать запрет на индексирование каталога. Подробнее о «robots.txt» можно прочитать тут.
Приведенный ниже пример блокирует индексацию всех страниц, URL которых начинается с /catalog/
:
User-Agent: * Disallow: /catalog/ User-agent: Yandex Disallow: /catalog/
2. На всех ссылка каталога (выбор марки, модели, модификации, запчасти) прописать атрибут rel="nofollow"
:
Пример:
3. На всех страницах каталога (включая самую первую) в шапке страницы необходимо установить мета-теги индексации.
Пример: