Changelog
Не опубликовано — сертификаты
Сертификаты включены 15.10.2026 на Боброво (точка 3). Реальные частичная и полная оплата, отмена и возврат проверены. Исправлена обязательная metadata iikoCard51 в плагине. Реализованы: расчёт сертификата через checkout, резервирование в AploCard, подтверждение после создания на кассе и освобождение/возврат после подтверждённой отмены. Один сертификат на заказ, отдельная строка оплаты, поддержка полной оплаты без доплаты. Включение требует миграций, настройки типа оплаты и проверки кассы. Описание: Подарочные сертификаты.
Формат: дата, версия, что изменилось. Записи добавляются сверху. Политика версионирования — policies/versioning.md.
2026-10-03 — лояльность AploCard на проде
- Списание ВкусКоинов (
bonusToSpend): на кассе вторая строка оплаты «Вкускоин» (VKUS2), сумма чека сходится. - Промокоды (
coupon): скидка правилом программы лояльности на уровне всего заказа. На кассе применяется типом с гибкой суммой — сумма скидки в чеке видна на уровне заказа, без распределения по позициям. - Известное ограничение:
coupon.statusв ответе calculate может бытьinvalid, даже когда скидка правила применилась — ориентируйтесь наprogramDiscountиtotal(фикс статуса — следующий этап). - Купоны с условием по минимальной сумме/категории гостя применяются по правилам программы (например, серия «500р» — от 1900 ₽).
Пока не включено (следующий этап): эндпоинты профиля гостя GET /v1/guests/*; GET /v1/status и полные лимиты §7; точный coupon.status.
2026-10-02 — v1 extension (v2) на проде api.aplosnab.ru
Расширение контракта задеплоено на новый прод-домен https://api.aplosnab.ru (резервный/pilot https://delivery.beta.aplosoft.ru продолжает работать на том же backend и с теми же ключами — менять интеграцию не обязательно).
Заработало:
- Каталог:
GET /v1/points/{pointId}/menu,GET /v1/points/{pointId}/stop-list,GET /v1/catalog/revision. - Точки: расширенный
GET /v1/points(адрес, расписание,acceptsOrders),GET /v1/points/{pointId}/status. - Зоны:
POST /v1/delivery/resolve,GET /v1/points/{pointId}/delivery-zones. - Checkout:
POST /v1/checkout/calculate+ расширениеPOST /v1/orders(calculationId,payment,deliveryType,location). - Онлайн-оплата:
payment{method:"online", paid:true, externalPaymentId}— на кассе ложится предоплатой «Оплата онлайн» (внешняя проводка, кассир деньги не собирает). - Комментарий к заказу доставляется на кассу (закрыто известное ограничение пилота).
- Вебхуки: добавлены
order.payment_recorded,order.loyalty_confirmed,order.loyalty_released,order.accrued.
Важно для адресов: улица в заказе резолвится в справочник кассы по точному совпадению имени. Если имя не уникально в справочнике точки (например, встречается в двух городах), заказ отказывается в reconciliation_required, а не создаётся с неточным адресом — используйте POST /v1/delivery/resolve до оформления.
2026-09-23 — v1.0 Partner API
Первая опубликованная версия партнёрского контракта. Живые эндпоинты:
Заказы
POST /v1/orders— создать канонический заказ (идемпотентно по(tenant, source, externalOrderId)+ SHA-256 содержимого).GET /v1/orders?externalOrderId=— найти заказ по своему ID.GET /v1/orders/{id}?source=— прочитать статус заказа по UUID.POST /v1/orders/{id}/cancel— запросить отмену.
Точки и адреса
GET /v1/points— точки в scope credential, включаяstreetsSyncedAt.GET /v1/points/{pointId}/products— активные товарные маппинги точки.POST /v1/addresses/check— сверка адреса со словарём улиц точки.
Служебное
GET /health/live,GET /health/ready— публичные health-проверки.- Вебхуки:
order.state_changed,order.delivery_status_changed,order.cancel_requested,order.cancel_result— подписанные HMAC-SHA256, доставка at-least-once с ретраями.
Полный портал (это издание) документирует уже задеплоенный контракт: аутентификацию с тестовым вектором подписи, идемпотентность, жизненный цикл заказа, отмену, вебхуки и справочник ошибок.
Важное замечание про статусы доставки
Кассы ВиЛ сейчас работают на iiko Front API V8 8.7, где у DeliveryStatus только семь значений: Unconfirmed, New, Waiting, OnWay, Delivered, Closed, Cancelled. Сервер технически принимает и CookingStarted, и CookingCompleted (они есть в контракте на будущее), но установленный на кассах плагин их не отправляет — этой версии SDK у iiko Front API 8.7 просто нет. Между статусами «Новый» и «Ожидает» заказ фактически готовится, но отдельного события об этом партнёр не получит. Не стройте UI-шаг, который ждёт CookingStarted/CookingCompleted как обязательное событие — см. Жизненный цикл заказа.
Известные ограничения этой версии
- Нет отдельного rate-limiting middleware на уровне приложения для партнёрского API (см. Безопасность).
- Нет self-service выпуска/ротации ключа — конфигурация credentials статическая.
- Нет
Deprecation/Sunsetзаголовков (механизм ещё не реализован).
Планируется — остаток v1 extension (scope утверждён 2026-09-23)
Основная часть расширения задеплоена 2026-10-02 (см. запись выше). Остаются: лояльность AploCard в checkout (купоны, списание ВкусКоинов — ожидает апгрейда сервера лояльности), профиль гостя, GET /v1/status, полный набор лимитов §7. Подробности и фазы — docs/PARTNER_API_V2_SPEC.md.