API v1.*.*
Этот раздел описывает программный интерфейс PlatParts для интеграций с внешними системами. Здесь собраны стабильные методы версии v1.*.*, которые используются для:
- интеграций учётных систем и обмена каталогом/остатками (например, 1С);
- B2B‑доступа партнёров к вашим остаткам и брендам;
- модульных интеграций (внешние сервисы через подключаемые модули и webhooks).
Общие принципы
- Протокол: HTTPS, REST‑стиль, все данные в формате
application/json. - Версионирование: текущая версия —
v1.*.*. При несовместимых изменениях будут появляться новые версии (v2.0.0,v3.0.0и т.п.). - Структура ответа:
- как правило, все методы возвращают JSON с флагом результата и сообщением:
result/status:true|false;message: человекочитаемое сообщение;- дополнительные поля (
brands,parts,categories,errorsи т.п.).
- как правило, все методы возвращают JSON с флагом результата и сообщением:
- Ошибки валидации:
- HTTP‑код
422или400; - тело может содержать подробный список ошибок по полям (стандартный формат Laravel).
- HTTP‑код
Авторизация и безопасность
1С‑интеграция
- Использует статический токен из админки (
Настройки → Общие настройки→ вкладка 1С интеграция). - Каждый запрос к
/api/1c/*должен иметь заголовок:Authorization: Bearer {ONEC_TOKEN}.
- В настройках можно:
- включить/выключить интеграцию;
- указать склад/точку выдачи по умолчанию;
- ограничить список IP‑адресов, с которых принимаются запросы 1С.
Подробности: см. 1С: каталог и остатки.
B2B‑API для партнёров
- Отдельный B2B‑токен, настраиваемый там же, в блоке
B2B API. - Все запросы к
/api/b2b/*требуют заголовка:Authorization: Bearer {B2B_TOKEN}.
- При отключённом B2B‑API эндпоинты возвращают
503 Service Unavailable.
Подробности: см. B2B API для партнёров.
Интеграции через модульную систему
Для модульных интеграций используются:
- события (хуки) платформы;
- исходящие webhooks (PlatParts → ваш сервер);
- входящий webhook (ваш сервер → PlatParts) — если поддерживается модулем.
Подробности: Интеграции и модульность (архитектура, хуки, REST, webhooks, отладка, типовые проблемы).
Среды и базовый URL
В примерах документации используется условный домен:
https://example.com
В рабочем окружении замените его на ваш боевой/тестовый домен:
- Прод:
https://ВАШ_БОЕВОЙ_ДОМЕН - Тест:
https://ВАШ_ТЕСТОВЫЙ_ДОМЕН(если используется отдельная среда)
Рекомендуется проводить интеграцию и отладку сначала на тестовой среде.
Нюансы и рекомендации
- Идемпотентность: методы для загрузки каталога и остатков (1С) реализованы через upsert по внешним ID (
onec_id). Повторная отправка тех же данных не должна приводить к дублированию. - Производительность:
- для 1С предусмотрены батч‑методы (
batch-upsert,batch-update), используйте их вместо покомпонентных вызовов; - B2B‑методы
get-brandsиget-partsвыполняют запросы к нескольким складам, поэтому важно не злоупотреблять слишком частыми вызовами в проде.
- для 1С предусмотрены батч‑методы (
- Безопасность:
- не логируйте токены в собственной системе мониторинга;
- при смене токена обязательно синхронизируйте его во всех внешних системах (1С, B2B‑клиенты).
- Обратная совместимость:
- новые поля в ответах API добавляются без удаления старых;
- при необходимости удаления/изменения формата будет объявлена новая минорная/мажорная версия API.
Навигация по API
-
Интеграции и модульность
Подключаемые модули, события, webhooks и правила надёжной доставки. -
1С: каталог и остатки
REST‑методы для загрузки категорий, товаров, атрибутов, остатков и цен из 1С. -
B2B API для партнёров
Методы для подключения партнёрских магазинов (получение точек выдачи/брендов/предложений).