Платформа за ChargeMeCar

Apostol CSMS — двигатель, на котором работает ChargeMeCar

CSMS-платформа промышленного уровня с многоверсионным OCPP, OCPI-роумингом 2.2.1 + 2.3.0, Stripe Connect для европейского рынка и ad-hoc-зарядкой в соответствии с AFIR. ChargeMeCar — одно из нескольких развёртываний, работающих на этой платформе сегодня.

  • OCPP 1.5 / 1.6 / 2.0.1
  • OCPI 2.2.1 + 2.3.0
  • Stripe Connect
  • В соответствии с AFIR
  • Multi-tenant
  • Открытое ядро
Что это
Инфраструктурный слой — не закрытый облачный сервис
CSMS (Charging Station Management System) — программное обеспечение, связывающее зарядные станции с остальным миром: водителями, платёжными процессорами, регуляторами, партнёрами по роумингу. Apostol CSMS — это платформа; ChargeMeCar — один из брендов, построенных на ней.

Представьте это как Shopify для зарядки электромобилей — одна и та же платформа, множество разных брендов, каждый полностью принадлежит своему оператору.

Как это связано
Как ChargeMeCar связан с платформой
Три факта, которые стоит знать — для прозрачности, не для маркетинговой брошюры.
01

Один и тот же движок, без форка

ChargeMeCar работает как развёртывание во владении тенанта на Apostol CSMS — тот же движок, что и в любом другом развёртывании, идентичный стек протоколов, идентичная платёжная сантехника. «Ветки ChargeMeCar» в платформе не существует.

02

Зрелое ядро

Базовый серверный фреймворк платформы находится в эксплуатации более девяти лет. Apostol CSMS — результат многолетней доводки платформы, спроектированный с полным пониманием ограничений, наблюдаемых при долгосрочной коммерческой эксплуатации более раннего поколения.

03

Операционная независимость

Наши счета Stripe Connect, наша инфраструктура, наше юридическое лицо. Владелец платформы не может управлять брендом ChargeMeCar без нас — и наоборот.

Протоколы
Открытые стандарты, без vendor lock-in
Платформа говорит на протоколах, которые использует любая современная сеть зарядных станций — OCPP для оборудования, OCPI для межсетевого роуминга. Три версии OCPP поддерживаются одновременно.

OCPP — три версии, один runtime

OCPP 1.5 (SOAP)

Совместимость с устаревшим оборудованием, остающимся в эксплуатации.

OCPP 1.6 (JSON / WebSocket)

Самая распространённая версия на рынке — реализована полностью, десять сообщений станция→центр и девятнадцать команд центр→станция.

OCPP 2.0.1 (современная)

Трёхуровневая модель (Станция → EVSE → Коннектор), персистентная Device Model, строковые идентификаторы сессий. Реализована в основном объёме; продвинутые расширения — на дорожной карте.

Автоматическое определение версии при подключении. Команды из центральной системы прозрачно транслируются между 1.6 и 2.0.1 — смешанные парки оборудования поддерживаются без дополнительных усилий.

OCPI — роуминг с обеими активными версиями

OCPI определяет правила, по которым разные зарядные сети обмениваются информацией о точках зарядки, тарифах, идентификаторах пользователей и сессиях. Обе текущие активные версии стандарта поддерживаются одновременно, в обеих ролях.

Роль CPO

Открывает станции ChargeMeCar партнёрам по роумингу — включая готовность к подключению к хабам Hubject и Gireve.

Роль eMSP

Принимает водительские токены из внешних партнёрских сетей; команды удалённого старта зарядки идут по тому же каналу.

Аппаратная нейтральность по архитектуре

Работает с любой станцией, совместимой с OCPP 1.6 / 2.0.1 — включая станции конкурентов. Платформа аппаратно нейтральна по архитектуре, а не по списку сертификаций.

Платежи
Stripe Connect для европейского рынка
Direct Charges на счёт Stripe Connect владельца станции, автоматическое удержание application fee, SEPA-выплаты в T+1…T+2, полное соответствие PSD2 / 3-D Secure и ad-hoc QR-поток в соответствии с AFIR.

Возможности Stripe Connect

  • OAuth-онбординг для существующих счетов Stripe
  • Автоматический application_fee на транзакцию
  • Возвраты + reverse transfers
  • Webhooks: charge.succeeded, payment_intent.*, payout.*
  • PSD2 3-D Secure включён по умолчанию
  • Выплаты партнёрам через Stripe Connect

AFIR ad-hoc QR — четырёхшаговый поток

  1. 01

    Сканировать

    Водитель сканирует QR-код, нанесённый на станцию.

  2. 02

    Увидеть тариф

    Цены и условия отображаются заранее — учётная запись не требуется.

  3. 03

    Оплатить

    Stripe Checkout / Payment Links обеспечивают защищённую страницу оплаты.

  4. 04

    Заряжать

    Чек выдан; зарядка начинается немедленно по команде платформы.

Wallet + двойная запись бухгалтерии

Каждое движение средств одновременно списывается с одного счёта и зачисляется на другой. Целостность остатков структурна, аудит-следы возникают по архитектуре, а частичные возвраты чисто согласуются между счетами оператора, платформы и партнёра.

Приложения
Пять поверхностей, одна платформа
Пять отдельно развёртываемых приложений составляют полное CSMS-развёртывание. Все пять публично распространяются как Docker-образы в GitHub Container Registry; каждый бренд запускает свои копии, брендированные через подписанный manifest.

Webapp

Next.js + React + Ant Design

Панель оператора — CRM, аналитика, мульти-тенант администрирование

PWA водителя

Vite + React + Ant Design Mobile

Приложение конечного пользователя — интерактивная карта, сессии, wallet, история, бронирование станции

Pay

Nuxt + Tailwind

Однократный QR-поток оплаты без регистрации (AFIR ad hoc)

Auth

Vue + Vite

OAuth2-провайдер идентичности для всего периметра

Landing

Nuxt + Quasar + GSAP

Маркетинговая страница бренда — включая эту страницу

Все пять приложений публично распространяются как Docker-образы в GitHub Container Registry; каждый бренд запускает свои копии, брендированные через подписанный manifest, доставляемый во время выполнения.

Архитектура
Скучный стек, быстрая эксплуатация
Двухслойное ядро: однопоточный транспорт на современном C++ и бизнес-логика, написанная в самом PostgreSQL. Оба слоя независимо открыты как open source; риск vendor lock-in для покупателя минимален.

Транспортный слой на C++

Единый асинхронный event loop, связывающий HTTP и PostgreSQL — построен на открытом фреймворке libapostol, в продакшене с 2017 года.

Бизнес-логика в PostgreSQL

Workflow-движок, ролевое разграничение доступа, двойная бухгалтерская запись — всё написано на PL/pgSQL поверх открытого фреймворка db-platform. Hot-reload, транзакционно, без отдельного ORM.

Открытый фундамент, закрытая дистрибуция

Три фундаментальных репозитория лицензированы по MIT и публично доступны под github.com/apostoldevel: libapostol — C++-транспорт (github.com/apostoldevel/apostol); db-platform — PostgreSQL-фреймворк (github.com/apostoldevel/db-platform); ocpp-cs — эталонная реализация центральной системы OCPP (github.com/apostoldevel/ocpp-cs). Сама CSMS поставляется как Docker-образы из github.com/apostol-csms. Риск vendor lock-in структурно ограничен — даже если бы дистрибутивный слой был свёрнут, весь фундамент остаётся работоспособным из открытых исходников.

Multi-tenant по архитектуре

Бренд-лицензии, подписанные Ed25519, и содержимое БД, шифруемое для каждого бренда отдельно. Один программный дистрибутив; полностью разделённые операции брендов.

Инженерные принципы
Что характеризует эту платформу
Три качества, преднамеренно центральные для архитектуры платформы.

Подтверждение в реальной эксплуатации

Ядро платформы работает в продакшене более девяти лет. Текущее поколение было пересобрано с полным пониманием ограничений предыдущего, наблюдавшихся в долгосрочной коммерческой эксплуатации, а не в лабораторных условиях.

Аппаратная независимость

Платформа говорит на OCPP 1.6 и 2.0.1 с любой совместимой зарядной станцией, независимо от производителя — включая оборудование от конкурирующих CSMS-поставщиков. Аппаратная нейтральность структурна, а не выражена списком сертификатов.

Криптографическая изоляция брендов

Каждое развёртывание работает под бренд-лицензией, подписанной Ed25519, и отдаёт содержимое БД, зашифрованное ключом, специфичным для бренда и выведенным из этой лицензии. Один программный дистрибутив; полностью разделённые операции брендов.

Регуляторика
Спроектирована вокруг соответствия требованиям ЕС
Платформа спроектирована для европейского регуляторного периметра, с явными положениями для четырёх стандартов, которые имеют значение для оператора CPO.

AFIR — ad-hoc оплата

Публичная зарядная инфраструктура должна принимать оплату от любого водителя без предварительной регистрации. Полностью реализовано через Stripe Checkout / Payment Links и анонимный водительский QR-поток.

GDPR

Хранение данных в ЕС, право на удаление, журналы аудита, подписанные записи согласий — встроены в слой данных, а не нашлёпаны сверху.

PSD2 / 3-D Secure

Усиленная аутентификация клиента включена по умолчанию для европейских карт через Stripe. Ни один платёжный путь не обходит 3-D Secure.

ISO 15118 «Plug & Charge»

Запланировано, на дорожной карте OCPP 2.0.1. Честное замечание: эта функциональность ещё не выпущена; она зависит от работы, запланированной для следующего крупного шага платформы.

White-label вариант

Если вы оператор CPO или утилитарная компания и хотите управлять собственной CSMS

Платформа поддерживает это нативно. Новый оператор бренда разворачивает за пять-десять минут полностью настроенный, полностью брендированный, юридически и фискально привязанный экземпляр. Ознакомьтесь с нашей программой white-label.

Посмотреть программу white-label →
Связаться

Хотите узнать больше о платформе?

Пришлите нам бриф или откройте демо панели оператора. Мы пройдём с вами по тому, что для вас актуально.

Открыть cloud-демо →