Методы API для системы "Кактус"
api/lite/courier_callЧасть методов представлена из "надстройки" – Кактус Лайт (/api/lite/*), часть методов относится к работе подсказок (/api/prompter/*), а часть к работе механизма по доставкам.
Необходимо во всех вызовах, содержащих /pub, /dlv, /prompter, кроме регистрации и авторизации, (например /api/lite/pub/order) указывать имя текущего домена в заголовках запроса (Header) в параметре Domain. Если в вызове нет /pub, /dlv, /prompter - (например /api/lite/offer) - то нужно указывать токен доступа, полученный в методе регистрации/авторизации.
Запрос | Метод | Авторизация | Описание | Разработано | Комментарии для бэкенда |
---|---|---|---|---|---|
Создание нового аккаунта Кактус Lite | POST /api/lite/pub/register | нет | public | ✓ | |
Запрос на сброс пароля Кактус Lite | POST /api/lite/pub/password_reset | нет | public | ✓ | |
Сброс пароля | POST /api/lite/pub/password_reset_confirm | нет |
public, защита по временному токену сброса пароля
|
✓ | |
Методы для автоподсказок по вводу адресов | |||||
Подсказка населенного пункта |
GET /api/prompter/location | нет | По переданной части населенного пункта, возвращает варианты возможных населенных пунктов | ✓ | |
Подсказка полного адреса | GET /api/prompter/address | нет | По переданной части адреса, возвращает варианты адресов | ✓ | |
Методы для работы CMS составляющий Кактус Лайт | |||||
Запрос данных аккаунта (публичный) |
GET /api/lite/pub/account_info |
нет |
По указанному имени домена получает информацию об аккаунте - только данные для публичного использования. Например, настройки виджета. Также используется для проверки домена на доступность.
|
для проверки доступности домена и его присвоения есть отдельный метод: /api/lite/settings/domainAlias - работает по токену доступа
-публичные настройки виджета: порог бесплатной доставки 2 |
|
Получение информации по заказу | GET /api/lite/pub/order | нет | По указанному домену и номеру заказа, возвращает текущее состояние заказа и публичную информацию | ✓ |
-по новой dto заказа ?требуется маппинг инфостатусов заказа и статусов lite 6 |
Получение информации по предзаказу | GET /api/lite/pub/preorder | нет | Получает информацию по предзаказу (метод доступен только если заказ еще в состоянии предзаказа) |
-по новой dto заказа 2 |
|
Проверка адреса сбора на возможность обслуживания | GET /api/lite/pub/check_pickup_location | нет |
По указанному населенному пункту (код по базе ФИАС), возвращает возможность указание данного адреса как точки сбора.
|
✓ |
в кактусе - нетенантная таблица с фиас кодами доступных городов сбора и опциональными часами сбора залить данные от gd
8 |
Список товарных предложений/предложение | GET /api/lite/pub/offer | нет |
Возвращает список товаров + цены + фото
|
✓ |
-добавить фото
1 |
Создание заказа для виджета | POST /api/lite/pub/order | нет | Для указанного домена, возможность оформить заказ из виджета обычному покупателю | ✓ |
-по новой dto 4 |
Методы для административного интерфейса Кактус Лайт | |||||
Авторизация | POST /api/lite/auth | – |
Создает новую пользовательскую сессию, получая токен. С данным токеном возможно последующее обращение к API. |
✓ | |
Запрос данных аккаунта (админский) |
GET /api/lite/account_info | session token |
Возвращает сведения о текущем аккаунте – имя аккаунта, баланс, настройки и т.п.
|
✓ | |
Информация о датах приезда курьера | GET /api/lite/pickup_dates | session token |
Возвращает информацию о датах приезда курьера за указанный период.
|
-в кактусе из настроек заявок на сбор выбираются ближайшие доступные дни. с учетом города сбора и доступного времени сбора - стоит скопировать реализацию настроек в части календаря в нетенантую область чтобы можно было разом для всех учетных записей лайта править
часы сбора и географию брать в той же таблице как в методе /api/lite/pub/check_pickup_location 5 |
|
Перечень уведомлений для пользователя | GET /api/lite/notifications | session token | Возвращает информацию об уведомлениях для пользователя. Либо по с фильтрацией по последним (с глубиной выборки), либо по определенному ID сообщения. |
отложили |
|
Сводка по аккаунту | GET /api/lite/brief_report | session token |
Возвращает срез отчетности по аккаунту. Например, информация о заказах (общая). |
-рефакторинг в отдельный сервис имеющихся методов отчетов DevApiController:
reportGetOrderCount, reportGetOrderMeanBill, reportGetOrderSum -вызов этих методов из апи лайта 8 |
|
Запрос списка заказов / определенного заказа |
GET /api/lite/order | session token |
Возвращает информацию о списке заказов, или о конкретном заказе. Возможно задавать фильтрацию, а также требуемый набор полей. |
✓ |
-по новой dto или ее расширенной версии для админа магазина -фильтрация по статусам, меткам, строке(номер заказа, телефон покупателя, фио покупателя) -набор полей, задаваемый в запросе пока не делаем 4 |
Сохранение настроек точки сбора | POST /api/lite/settings/pickup | session token |
Сохраняет информацию об адресе и контактах для сбора заказов
|
✓ | |
Проверка доступности домена 3 уровня | GET /api/lite/settings/domainAlias | session token | Проверка свободного желаемого домена 3 уровня | ✓ | |
Обновление домена 3 уровня | POST /api/lite/settings/domainAlias | session token | Обновление текущего домена 3 уровня (помимо автосозданного) | ✓ | |
Сохранение настроек уведомлений | POST /api/lite/settings/user_notification | session token |
Сохраняет настройки уведомлений пользователя о событиях
|
отложили | |
Запрос настроек виджета чекаута | GET /api/lite/settings/checkout | Выводит настройки виджета чекаута | ✓ | ||
Сохранение настроек работы виджета чекаута | POST /api/lite/settings/checkout | session token |
Сохраняет настройки виджета чекаута
|
✓ |
-добавить тенантую сущность настроек виджета с указанными полями
2 |
Список товарных предложений/предложение | GET /api/lite/offer | session token |
Возвращает список товаров + цены + фото
|
✓ | |
Создание / обновление товарного предложения | POST /api/lite/offer | session token |
Обновление полей товара, цен, веса, отображения в каталоге
|
✓ |
3 |
Создание/удаление картинки к товару |
POST /api/lite/offer/image DELETE /api/lite/offer/image |
session token | создание картинки к товару с ресайзом / удаление указанной картинки | ✓ |
-интеграция с хранилищем картинок + ресайз картинок
8 |
Обновление параметров кропа картинки к товару | POST /api/lite/offer/image/crop | session token | Обновляет параметры кропа (обрезки) картинки | ✓ | |
Создание/редактирование/удаление метки |
POST /api/lite/tag DELETE /api/lite/tag |
session token | Редактирование меток для заказов | ✓ |
4 |
Получение списка меток | GET /api/lite/tag | session token | Получить все созданные метки заказов | ✓ | 1 |
Создание заказа | POST /api/lite/order | session token |
Возможность создать новый заказ. Также, возможность создать заказ в статусе “Предзаказ”, когда только указана табличная часть, а все остальное должен заполнить покупатель |
✓ |
-если полный заказ: копия метода публичного создания заказа -если предзаказ: не проверять данные заказа не относящиеся к табличной части в OrderDocManager (по наличию домена определить что учетка - лайт и не проверять)
3 |
Заказ → обновление контактной информации получателя |
POST /api/lite/order/receiver | session token |
Имя, телефон, email
|
-используется новая dto заказа -обрабатывается только та ее часть которая относится к указанным данным: в заказе не обновлются никакие иные поля
2 |
|
Заказ → обновление товарной части | POST /api/lite/order/items | session token | Обновить только товарную часть заказа |
-аналогично 2 |
|
Заказ → упаковать | POST /api/lite/order/packing | session token | Помечает заказ упакованным | ✓ |
-вызывается быстрая упаковка в одно место 4 |
Заказ → распаковать | DELETE /api/lite/order/packing | session token | Удаляет упаковку заказа | ✓ |
-распроводит все имеющиеся упакованные места 2 |
Заказ → пометить оплаченным получателем | POST /api/lite/order/payment | session token | Помечает заказ полностью оплаченным | ✓ |
-ставит статус PAID в заказе 1 |
Заказ → снять пометку оплаты заказа получателем | DELETE /api/lite/order/payment | session token |
Удаляет оплату заказа имеется ввиду отметка об оплате заказа со стороны покупателя (расчеты между покупателем и пользователем системы), не путать с оплатой доставки заказа (расчеты между пользователем системы и Кактус Лайт) - для этого есть отдельный метод. |
✓ |
-ставит статус PAID в заказе 0 |
Заказ → установить метку на заказе | POST /api/lite/order/tag | session token | Устанавливает метку на заказ | ✓ | 2 |
Заказ → снять метку с заказа | DELETE /api/lite/order/tag | session token | Снимает метку с заказа | ✓ | 2 |
Заказ → получить инвойс + стикер к заказу | GET /api/lite/order/invoice_and_stiker | session token | Получает инвойс для заказа (также содержит стикер) | ✓ |
-dlv - сделать слепленную ПФ (инвойс + стикер), добавить в enum запроса ПФ -кактус: вызывать при упаковке места ПФ с указанным enum -по вызову данного метода апи - возвращение base64 с данными ПФ 3 |
Оплатить доставку заказа/заказов | POST /api/lite/order_delivery_payment | session token |
Блокирует средства с баланса для указанного перечня заказов.
|
-реализовать регистр баланса аккаунта (16) -документ оплаты со статусами подготовлен (средства блокируются) и оплачен (средства списаны) ?требуется описание схемы работы |
|
Отменить оплату доставки заказа/заказов | DELETE /api/lite/order_delivery_payment | session token | Отменяет оплату заказа | ?требуется описание схемы работы | |
Оформить вызов курьера | POST /api/lite/courier_call | session token | Создает в системе заявку на вызов курьера | - не делаем. заявка на вызов курьера автоматом делается при успешной оплате доставки указанных заказов в методе order_delivery_payment | |
Отменить вызов курьера | DELETE /api/lite/courier_call | session token | Удаляет заявку на вызов курьера |
-удаляет по humanId 2 |
|
Получить список транзакций | GET /api/lite/transaction | session token | С фильтрацией по дате, номеру заказу (или номеру трекинга) | ?требуется описание схемы работы | |
Создать счет на оплату и получить информацию для оплаты | POST /api/lite/payment | session token |
Создает новый счет к оплате на указанную сумму, затем возвращает данные для последующей оплаты (PayU)
|
?требуется описание схемы работы | |
Методы для работы с доставкой (в большей степени требуются для работы чекаута) | |||||
Получить тарифы и способы доставки для указанного населенного пункта | GET /api/dlv/tariffs | нет | с фильтрацией по городу (guid ФИАС) - запрос тарифа от точки сбора до указанной точки | ✓ |
-добавить fias код в сущность адреса -авторизация по домену -добавить проксирование в кактусе с возможностью на лету в тарифы добавить процентную и фиксированную часть из настроек виджета данного клиента 4 |
Получить список пунктов выдачи заказов | GET /api/dlv/delivery_points | нет |
с фильтрацией по городу (guid ФИАС) / по курьерской службе, получает доступный список пунктов выдачи заказов. Возможно запрашивать краткий и полный списки, с фильтрацией по ID пункта выдачи. |
✓ |
-авторизация по домену -прокси до dlv по методу запроса постаматов и фильтром по городу (фиас), коду постамата 4 |