API в реальному житті: Як полегшити задачу створення сайтів для пошуку та купівлі автозапчастин

image

В ході роботи над платформою для створення інтернет-магазинів автозапчастин abcp.uk ми зіткнулися з необхідністю розробки API.

Спочатку робота з продавцями автозапчастин велася безпосередньо, і ми самі створювали їм стандартизовані онлайн-магазини на своєму движку. Однак з плином часу все більше клієнтів стали вимагати індивідуального підходу до розробки сайту.

Наших ресурсів на одночасне ведення декількох таких проектів могло не вистачити. Тому ми створили API для третіх розробників, яких клієнти могли б залучати для роботи над своїми сайтами. Сьогодні ми докладніше розповімо про те, що у нас в підсумку вийшло.

Що вимагається від API в галузі пошуку автозапчастин

В сфері продажу автозапчастин існує кілька класів завдань, від якості рішення яких залежить успіх того або іншого інтернет-магазину.

База знань про аналоги автозапчастин (кроси)
Часто оригінальної деталі немає в наявності або вона коштує надто дорого. У такому разі автовласники можуть придбати неоригінальний замінник і серйозно заощадити (іноді навіть не втративши в якості). Зв'язки оригінальних запчастин і їх замінників називаються кросами, і найважливішим завданням інтернет-магазину є наявність актуальної бази таких варіантів заміни.

Відсутність такої інформації — серйозний мінус магазину, який призводить до зниження продажів.

image

Для того, щоб полегшити життя розробникам інтернет-магазинів автозапчастин ми створили API для доступу до нашої постійно поповнюється базі кросів. Доступ до інформації здійснюється через REST API, що дозволяє використовувати дані не тільки на веб-сайтах, але й в мобільних додатках.

Нижче представлений приклад JSON-видачі замінників для гальмівного диска VOLKSWAGEN моделі 6R0615301:

{
"brand": "VAG",
"number": "6R0615301",
"crosses": [
{
"brand": "Brembo",
"number": "09.7011.11",
"numberFix": "09701111"
},
{
"brand": "Febi",
"number": "14404",
"numberFix": "14404"
},
{
"brand": "Jurid",
"number": "562040J",
"numberFix": "562040J"
},

.........................

{
"brand": "Zimmermann",
"number": "100 1233 20",
"numberFix": "100123320"
}
]
}

Пошук

Друга за важливістю завдання для розробника інтернет-магазину автозапчастин — створення якісного пошуку за артикулом товару з урахуванням можливих аналогів, особливостей номерів деталей різних брендів і так далі.

У сегменті продажу автозапчастин є цілий ряд нюансів, які ускладнюють створення інтернет-магазинів для розробників, не занурених в цю область. Особливості нумерації, штрих-коди EAN-13, альтернативні і короткі номери деталей — для того, щоб розібратися у всьому цьому потрібно витратити велику кількість часу.

Також створення пошукового движка інтернет-магазину автозапчастин передбачає вирішення непростих завдань з оновлення прайс-листів. При цьому пошук, якісно працюючий з прайсами в 5000 позицій зовсім не обов'язково зможе обробити документ, що включає 600 тисяч позицій.

За допомогою нашого API розробники можуть швидко реалізовувати якісний пошук, уникаючи поширених помилок за 10 років роботи ми наступили на безліч грабель і придумали способи їх обходу).

Інтерфейс API ABCP дозволяє здійснювати операції пошуку різного ступеня складності.

Наприклад, так виглядає пошуковий запит для пошуку деталі за номером:

http://api.demo.abcp.ru/search/articles/?userlogin=username&userpsw=md5pass&number=01089&brand=Febi


Відповідь на такий запит може виглядати якось так:

[
{
"brand": "Hepu",
"articleCode": "P999",
"articleCodeFix": "P999",
"articleId": "2854918",
"description": "Антифриз [синій] 1,5 л.",
"availability": "-1",
"deliveryPeriod": 3,
"price": 231,
"weight": "0"
},
{
"brand": "Febi",
"articleCode": "01089",
"articleCodeFix": "01089",
"articleId": "37367",
"description": "Антифриз 1.5 л синій",
"availability": "1943",
"deliveryPeriod": 3,
"price": 233,
"weight": "1.76"
},
{
"brand": "Vaico Vemo",
"articleCode": "V600020",
"articleCodeFix": "V600020",
"articleId": "4144961",
"description": "Антифриз g-11 1.5 л. концентрат",
"availability": "-2",
"deliveryPeriod": 3,
"price": 235,
"weight": "0"
}
]

В полях відповіді передається інформація про бренд, код товару, його опис, дані по наявності на складі, термін поставки (у годинах), вартості і вазі. У прикладі вище запит повернув не тільки опис вихідного товару, але і його можливу заміну.

Більш докладний опис API і, зокрема, можливостей щодо пошуку, представлено на спеціальній вікі-сторінці.

Додавання каталогу TecDoc на свій сайт
Історично склалося так, що каталог для підбору автозапчастин TecDoc є вкрай популярним інструментом для пошуку потрібних деталей. Ми вважаємо, що цей інструмент досить сильно переоцінений, проте з його затребуваністю не можна не рахуватися. Саме тому ми створили зручний спосіб установки каталогу TecDoc на зовнішні сайти.

Інформація в каталозі представляється у вигляді дерева — користувач клікає на марку автомобіля, вибирає конкретну модель, виберіть потрібний агрегат і таким чином знаходить деталь.

image

Зазвичай TecDoc в Рунеті використовують контрафактно, для чого розробникам доводиться не тільки набувати базу даних (вона займає кілька DVD-дисків), але і писати велику кількість «милиць» для конвертації інформації з DVD в MySQL (або платити умільцям-конвертаторам $50-$200 за базу). Розміщення цього гігантського обсягу даних тягне додаткові витрати.

Крім того, кожен квартал відбувається оновлення TecDoc, змінюються структури таблиць і формати даних, що ще більше ускладнює підтримку неліцензійних версій сервісу в актуальному стані. Інакше як пеклом для розробника таку ситуацію назвати складно.

Щоб полегшити життя розробникам, ми створили сайт tecdoc.abcp.uk — на ньому можна взяти вихідні коди для встановлення ліцензійної версії каталогу TecDoc на зовнішні сайти (база постійно оновлюється). Для нестандартного використання даних каталогу розробникам доступні API-функції, набір яких ми поступово збільшуємо.

Ми — не єдині офіційні реселери каталогу TecDoc на ринку країн СНД, але єдині, хто зумів знизити собівартість використання офіційної версії всього до 2000 рублів на місяць.

Докладніше про роботу з каталогом TecDoc ми розповімо в одному з наступних топіків.

Як ще покращити сайт з пошуку автозапчастин

Крім власне API є і інші методи, які дозволяють розробникам сайтів для пошуку та купівлі автозапчастин надавати клієнтам сервіс більш високого рівня. Одним з таких інструментів є різноманітні корисні віджети.

Пошук автозапчастин за VIN-кодом
Як ми вже розповідали в нашому минулому топіку — пошук потрібної автозапчастини в інтернеті є вкрай складною справою. Розібратися в каталогах виробників (які найчастіше не є хорошими прикладами інформативності) навіть маючи VIN-код деталі — нетривіальне завдання.

На сайті пошукача автозапчастин 4mycar.uk ми створили спеціальну кнопку і «ховаються» за нею автоексперти підберуть потрібну запчастину за VIN-кодом.

image

Працює ця схема з допомогою спеціального сервісу для віддаленого підбору автозапчастин Vinqu.com. Власники сайтів автомобільної тематики можуть встановити на свої ресурси спеціальний віджет, а автоексперти — взяти участь в пошуку деталей для відвідувачів. В результаті магазини і експерти заробляють гроші, а користувачі знаходить потрібні їм запчастини.

Крім цього, ми створили віджет для запису автосервіс в режимі онлайн — власники таких компаній можуть розмістити код на сайті. Автолюбителі зможуть не тільки записатися на прийом, але і отримувати SMS-нагадування про дату техобслуговування.

На сьогодні все, спасибі за увагу! У наступних топіках ми розповімо про інфраструктуру нашого пошуковика автозапчастин 4mycar.ru, створення сервісу «Біржа VIN-запитів» і те, як наша служба техпідтримки впоралася з 60 тисячами тікетів за 5 років роботи.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.