Два API и тестовый ключ
Главное
Требуемые для админки данные по артикулу (габариты, вес, кросс-номера, применимость) есть только в PartsIndex API, а не в Parts-Catalogs (OEM-каталоги). Это подтверждено разбором обеих OpenAPI-спецификаций и живыми запросами.
Parts-Catalogs vs PartsIndex
| Parts-Catalogs | PartsIndex | |
|---|---|---|
| Base URL | https://api.parts-catalogs.com/v1 | https://api.parts-index.com/v1 |
| Спецификация | OpenAPI 3.0.0, v1.18.0 | OpenAPI 3.0.3 |
| Модель данных | каталог → модель → авто → группы → детали | по артикулу+бренду |
| Поиск | по дереву, по VIN/FRAME | по артикулу, по авто (марка→двигатель) |
| Даёт размеры/вес/аналоги по артикулу | ❌ | ✅ |
| Документация | обзор, эндпоинты | справочник |
Авторизация
Оба API используют заголовок (не Bearer):
Authorization: <персональный-ключ>Ключ выдаёт менеджер Tradesoft. Хранить как секрет (в .env, не в коде, не в БД, не возвращать в ответах).
Тестовый ключ (OEM)
Ключ OEM-API-F1B2A560-… (активен до 2026-07-11):
- Открывает только Parts-Catalogs (OEM-каталоги).
- На PartsIndex →
403 access deny(нужен ключ со scopeaccess, info, relations, old-apply). - Привязан к IP-whitelist: запрос с не-разрешённого IP →
403 errorCode 1003 "IP not allowed". Боевой сервер должен выходить в интернет с whitelisted-IP.
Лимиты запросов (тестовый ключ)
| Источник | Лимит |
|---|---|
| Parts-Catalogs (основной) | 100 VIN |
| Parts-Catalogs China | 10 VIN |
Коды ошибок
Тело ошибки: { code, message } (PartsIndex) / { code, errorCode, message } (Parts-Catalogs).
| Код | Значение |
|---|---|
403 / 1003 | access deny — IP не в whitelist / нет scope / исчерпана квота / домен |
400 | некорректный запрос |
401 | нет данных авторизации |
404 | не найдено / пустая строка поиска |
422 | не передан обязательный параметр |
500/502/504 | ошибки сервера/шлюза |
Боевой ключ PartsIndex
Ключ PI-… открывает продукты PartsIndex (scope access, info, relations, cars):
| Продукт | Квота запросов |
|---|---|
| Информация о детали | 1 000 |
| Каталог автотоваров | 1 000 |
| Детали по VIN | 50 |
Админка сейчас использует Информацию о детали (размеры, вес, применимость, кроссы).
IP-whitelist и обход VPN
Ключ привязан к IP-whitelist. Сервер сидит за VPN (для сторонних задач), поэтому запросы к PartsIndex должны выходить с whitelisted-IP 85.175.98.244 в обход VPN — иначе 403 "IP not allowed", и задания встают в blocked. На сервере это решено статическими маршрутами /32 к IP API-серверов через физический шлюз (VPN-путь остальных сервисов не затрагивается).
При переносе
На новом сервере нужно внести его внешний IP в whitelist ключа PartsIndex (curl -s https://api.ipify.org), иначе live-режим будет отдавать 403.
Вывод для проекта
- Админка сопоставления работает на PartsIndex (боевой ключ, режим
live). - Тестовый OEM-ключ пригоден для разработки/проверки Parts-Catalogs (каталоги, VIN).