История заказов
Мы работаем только через POST-запросы
Для авторизованного пользователя доступна синхронизация истории заказов в мобильном приложении с его общей историей заказов.
Запрос
APP SERVER → INFRASTRUCTURE
От вас потребуется URL, на который наш сервер будет слать POST-запрос. Да, мы запрашиваем данные через POST, а не через GET.
В вашу систему будут приходить вот такие данные:
userIdentifier
— идентификатор пользователя (обязательное поле), полученный от системы клиента на этапе авторизацииpage – номер текущей страницы. Вы сами определяете размер отдаваемой страницы
Ответ:
id
— идентификатор заказа в вашей системе (обязательное поле)publicId
— идентификатор заказа, видимый пользователю (опционально); будет отображаться вместо id, если передан в ответеtypeOrder
— Тип заказа. Отображается на экране заказов перед номером и в расширенной истории заказа. По-умолчанию "Заказ" (опционально)createdOn
— дата создания заказа (обязательное поле, unix time stamp)status
— статус заказа (обязательное поле)statusMessage
— подробное описание статуса заказа (опционально)updatedOn
- время последнего обновления заказа (unix timestamp в секундах) (опционально)inProgress
- true / false - активность заказа. последний активный заказ будет отображен на главном экране приложения (опционально)price
— цена заказа (обязательное поле)receiptUrl
- ссылка на pdf файл для передачи чека или ссылка на ОФД-чекdeliveryPrice
- стоимость доставки (опционально)itemsPrice
- цена товаров в заказе без учета скидок, бонусов и предложений (опционально)retryPaymentMethod
— отдавать id оплаты если оплата возможна, если нет то null и повторная оплата будет недоступна, также чтобы кнопка повторной оплаты работала обязательно нужно передать объектpublicDeliveryDetails
(описание ниже) с заполненными полямиtitle
,buyerName
,buyerPhone
.trackingUrl
— ссылка на страницу отслеживания почтового или курьерского отправления (необязательное поле); отображается на экране списка заказовcancellable
- необязательно, заказ можно отменять, например, по кнопке "Отмена заказа", по-умолчниюfalse
items
— набор товаров в заказе (обязательное поле; массив может быть пустым)privateId
— идентификатор товара в системе клиента (обязательное поле)configurationId
—идентификатор товарного предложения (необязательное поле)name
— название товара (обязательное поле)image
— URL фото товара (обязательное поле)price
— цена за одну позицию (необязательное поле)quantity
— количество (обязательное поле)discount
— общая скидка (необязательное поле)subtotal
— итоговая стоимость (обязательное поле)removed
— был удалён из заказа (напр., покупатель отказался от не подошедших размеров при вручении)если товар был принят частично (напр., куплено 2 из 3 единиц), необходимо передать две одинаковые конфигурации, с
quantity
2 и 1 соответственно, и во второй установить"removed": true
при нажатии "Повторить заказ", товары, от которых покупатель отказался, в корзину добавлены не будут
usedBonuses
- количество использованных бонусов (опционально)appliedDiscount
- примененная скидка (опционально)publicDeliveryDetails
- детали доставки (опционально)title
- название свособа доставкиdetails
- подробное описание доставкиbuyerName
- имя получателяbuyerPhone
- телефон получателяbuyerEmail
- email получателяdeliveryDate
- ожидаемая дата доставки в форматеYYYY-MM-DD
deliveryTime
- ожидаемое время доставки в человекочитаемом видеtrackingUrl
— ссылка на страницу отслеживания почтового или курьерского отправления (необязательное поле); отображается на экране просмотра детальной информации о заказеdeliveryDateISO
- опционально, "2022-09-26T08:12:32.940Z" время в формате date time iso, например moment().toISOString()courierPhone
- опционально, Номер телефона доставщикаcourierName
- опционально, Имя доставщика
publicPaymentDetails
- детали оплатыpaid
- true если заказ оплаченpaymentComment
- коментарий к платежуreceiptUrl
- ссылка на чек
ratingRequired
- true/false в зависимости нужно ли собрать оценку с пользователяrating
- Значение оценки обслуживания пользователя от 1 до 5 с хука оценки качества обслуживанияratingComment
- Сохраненный комментарий пользователя с хука оценки качества обслуживания
Обратите внимание на параметр nextPage. Это номер следующей страницы истории заказов. nextPage должен быть целым числом. Если параметр nextPage отсутствует или является, например, false
, null
, undefined
, то запрос на получение следующей страницы выполнен не будет.
Минимальный набор полей необходимый для отображения расширенной истории заказов
Идентификатор заказа может понадобиться пользователю для уточнения деталей в службе поддержки. Статус заказа — читаемый (в процессе, доставлен и пр), демонстрируется пользователю.
Дата создания заказа будет учитываться при сортировке во время слияния с локальной историей заказов.
Следует помнить, что этот запрос будет приходить из нашего доверенного, авторизованного сервера, это — не публичный API.
Любой другой ответ API будет расцениваться как отсутствие истории заказов.
Last updated