Получение списка заказов клиента
В инструкции описаны примеры POST-запросов. Интеграция с Mindbox не будет работать, если использовать запросы из примеров ниже без редактирования.
Операции именно под вашу задачу создает и описывает в техническом задании менеджер проекта, если у вас нет такого документа, то обратитесь к вашему менеджеру.
Описание метода
Осуществляется с помощью POST-запроса. Название операции настраивается в системе Майндбокс.
Метод соответствует операции Mindbox с набором шагов "Клиент-Авторизованый-Получить существующего" и "Заказ-Получить список заказов".
JSONURL: https://api.mindbox.ru/v3/operations/sync?endpointId={Идентификатор точки интеграции}&operation=OperationSystemName Content-Type: application/json; charset=utf-8 Accept: application/json Authorization: SecretKey {Секретный ключ}
Пример запроса операции
JSON{ "page": { "pageNumber": "<Номер страницы, начиная с 1 (не более 21474831)>", "itemsPerPage": "<Количество элементов на странице (не более 1000)>", "sinceDateTimeUtc": "<Дата и время самого раннего действия (UTC, YYYY-MM-DD hh:mm)>", "tillDateTimeUtc": "<Дата и время самого позднего действия невключительно (UTC, YYYY-MM-DD hh:mm)>" } }
- Страницы нумеруются с 1.
- Максимальное количество действий на страницу - 1000
- В результате операции не возвращаются данные, которые были созданы менее 5 минут назад.
Пример ответа операции
JSON{ "status": "<Результат выполнения запроса: Success в случае успеха, ValidationError в случае ошибки пользователя, ProtocolError в случае ошибки интеграции, InternalServerError в случае недоступности сервера.>", "orders": [ { "firstPointOfContact": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор точки контакта>" }, "name": "<Имя точки контакта>" }, "ids": { "externalId": "<Внешний идентификатор заказа>" }, "totalPrice": "<Стоимость заказа с учетом скидок>", "lines": [ { "product": { "ids": { "externalId": "Внешний идентификатор продукта" } }, "quantity": "<Количество единиц продукта>", "quantityType": "<Тип количества (int или double)>", "basePricePerItem": "<Базовая цена продукта за единицу продукта>", "priceOfLine": "<Конечная цена за линию чека>", "status": { "ids": { "externalId": "<Идентификатор статуса позиции заказа>" }, "category": "<Идентификатор статуса позиции заказа>" }, "appliedPromotions": [ { "type": "<Тип примененной промоакции>", "coupon": { "ids": { "code": "<Промокод>" }, "pool": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор пула промокодов>" }, "name": "<Наименование пула промокодов>", "description": "<Описание пула промокодов>" } }, "promotion": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор промоакции>" }, "name": "<Наименование промоакции>", "type": "<Тип промоакции>" }, "limits": [ { "type": "<Способ агрегации (по акции, по клиенту)>", "amount": { "type": "<Тип значения лимита (количество применений, размер скидки)>", "value": "<Значение лимита>" }, "used": { "usageServiceStatus": "<Использование лимита>", "amount": "<Использование лимита>" }, "untilDateTimeUtc": "<Дата завершения срока действия лимита>" }, { "type": "<Способ агрегации (по акции, по клиенту)>", "amount": { "type": "<Тип значения лимита (количество применений, размер скидки)>", "value": "<Значение лимита>" }, "used": { "usageServiceStatus": "<Использование лимита>", "amount": "<Использование лимита>" }, "untilDateTimeUtc": "<Дата завершения срока действия лимита>" } ], "groupingKey": "<Ключ группировки примененных акций>", "balanceType": { "ids": { "systemName": "<Системное имя балльного счёта>" }, "name": "<Название балльного счёта>" }, "amount": "<Размер скидки или бонуса примененной промоакции>", "expirationDateTimeUtc": "<Дата сгорания баллов>" } ], "giftCard": { "product": { "ids": { "externalId": "Внешний идентификатор продукта" } }, "amount": "<Номинал>", "ids": { "number": "<Номер карты>" }, "status": { "ids": { "systemName": "<Системное имя статуса карты>" } }, "basePricePerItem": "<Стоимость карты>" }, "lineNumber": "<Номер позиции заказа>", "lineId": "<Идентификатор позиции заказа>", "customFields": { "customField1": "Дополнительные поля линии" }, "minPricePerItem": "<Минимальная цена продукта за единицу продукта>" }, { "product": { "ids": { "externalId": "Внешний идентификатор продукта" } }, "quantity": "<Количество единиц продукта>", "quantityType": "<Тип количества (int или double)>", "basePricePerItem": "<Базовая цена продукта за единицу продукта>", "priceOfLine": "<Конечная цена за линию чека>", "status": { "ids": { "externalId": "<Идентификатор статуса позиции заказа>" }, "category": "<Идентификатор статуса позиции заказа>" }, "appliedPromotions": [ { "type": "<Тип примененной промоакции>", "coupon": { "ids": { "code": "<Промокод>" }, "pool": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор пула промокодов>" }, "name": "<Наименование пула промокодов>", "description": "<Описание пула промокодов>" } }, "promotion": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор промоакции>" }, "name": "<Наименование промоакции>", "type": "<Тип промоакции>" }, "limits": [ { "type": "<Способ агрегации (по акции, по клиенту)>", "amount": { "type": "<Тип значения лимита (количество применений, размер скидки)>", "value": "<Значение лимита>" }, "used": { "usageServiceStatus": "<Использование лимита>", "amount": "<Использование лимита>" }, "untilDateTimeUtc": "<Дата завершения срока действия лимита>" }, { "type": "<Способ агрегации (по акции, по клиенту)>", "amount": { "type": "<Тип значения лимита (количество применений, размер скидки)>", "value": "<Значение лимита>" }, "used": { "usageServiceStatus": "<Использование лимита>", "amount": "<Использование лимита>" }, "untilDateTimeUtc": "<Дата завершения срока действия лимита>" } ], "groupingKey": "<Ключ группировки примененных акций>", "balanceType": { "ids": { "systemName": "<Системное имя балльного счёта>" }, "name": "<Название балльного счёта>" }, "amount": "<Размер скидки или бонуса примененной промоакции>", "expirationDateTimeUtc": "<Дата сгорания баллов>" } ], "giftCard": { "product": { "ids": { "externalId": "Внешний идентификатор продукта" } }, "amount": "<Номинал>", "ids": { "number": "<Номер карты>" }, "status": { "ids": { "systemName": "<Системное имя статуса карты>" } }, "basePricePerItem": "<Стоимость карты>" }, "lineNumber": "<Номер позиции заказа>", "lineId": "<Идентификатор позиции заказа>", "customFields": { "customField1": "Дополнительные поля линии" }, "minPricePerItem": "<Минимальная цена продукта за единицу продукта>" } ], "appliedPromotions": [ { "type": "<Тип примененной промоакции>", "coupon": { "ids": { "code": "<Промокод>" }, "pool": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор пула промокодов>" }, "name": "<Наименование пула промокодов>", "description": "<Описание пула промокодов>" } }, "promotion": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор промоакции>" }, "name": "<Наименование промоакции>", "type": "<Тип промоакции>" }, "limits": [ { "type": "<Способ агрегации (по акции, по клиенту)>", "amount": { "type": "<Тип значения лимита (количество применений, размер скидки)>", "value": "<Значение лимита>" }, "used": { "usageServiceStatus": "<Использование лимита>", "amount": "<Использование лимита>" }, "untilDateTimeUtc": "<Дата завершения срока действия лимита>" }, { "type": "<Способ агрегации (по акции, по клиенту)>", "amount": { "type": "<Тип значения лимита (количество применений, размер скидки)>", "value": "<Значение лимита>" }, "used": { "usageServiceStatus": "<Использование лимита>", "amount": "<Использование лимита>" }, "untilDateTimeUtc": "<Дата завершения срока действия лимита>" } ], "groupingKey": "<Ключ группировки примененных акций>", "balanceType": { "ids": { "systemName": "<Системное имя балльного счёта>" }, "name": "<Название балльного счёта>" }, "amount": "<Размер скидки или бонуса примененной промоакции>", "expirationDateTimeUtc": "<Дата сгорания баллов>" } ], "area": { "ids": { "externalId": "<Идентификатор географической зоны клиента>" } }, "deliveryCost": "<Стоимость доставки>", "bonusPointsInfoPerBalanceType": [ { "spentAmount": "Сумма потраченных баллов с конкретного балльного счета за заказ на настоящий момент времени", "earnedAmount": "Сумма начисленных баллов на конкретный балльный счет за заказ на настоящий момент времени", "balanceType": { "name": "Название балльного счёта", "ids": { "systemName": "<Системное имя балльного счёта>" } } } ], "payments": [ { "type": "<Тип платежа>", "id": "<Идентификатор платежа>", "amount": "<Размер платежа, примененного к заказу>", "promoActionId": "<Идентификатор промоакции>", "creditCard": { "hash": "<Хеш банковской карты>" }, "balanceType": { "ids": { "systemName": "<Системное имя балльного счёта>" }, "name": "<Название балльного счёта>" } } ], "customFields": { "customField1": "Дополнительные поля заказа" }, "createDateTimeUtc": "<Дата создания заказа в UTC>" }, { "firstPointOfContact": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор точки контакта>" }, "name": "<Имя точки контакта>" }, "ids": { "externalId": "<Внешний идентификатор заказа>" }, "totalPrice": "<Стоимость заказа с учетом скидок>", "lines": [ { "product": { "ids": { "externalId": "Внешний идентификатор продукта" }, "name": "<Наименование продукта>", "description": "<Описание>", "price": "<Ссылка на страницу с описанием>", "pictureUrl": "<Ссылка на картинку>" }, "quantity": "<Количество единиц продукта>", "quantityType": "<Тип количества (int или double)>", "basePricePerItem": "<Базовая цена продукта за единицу продукта>", "priceOfLine": "<Конечная цена за линию чека>", "status": { "ids": { "externalId": "<Идентификатор статуса позиции заказа>" }, "category": "<Идентификатор статуса позиции заказа>" }, "appliedPromotions": [ { "type": "<Тип примененной промоакции>", "coupon": { "ids": { "code": "<Промокод>" }, "pool": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор пула промокодов>" }, "name": "<Наименование пула промокодов>", "description": "<Описание пула промокодов>" } }, "promotion": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор промоакции>" }, "name": "<Наименование промоакции>", "type": "<Тип промоакции>" }, "limits": [ { "type": "<Способ агрегации (по акции, по клиенту)>", "amount": { "type": "<Тип значения лимита (количество применений, размер скидки)>", "value": "<Значение лимита>" }, "used": { "usageServiceStatus": "<Использование лимита>", "amount": "<Использование лимита>" }, "untilDateTimeUtc": "<Дата завершения срока действия лимита>" }, { "type": "<Способ агрегации (по акции, по клиенту)>", "amount": { "type": "<Тип значения лимита (количество применений, размер скидки)>", "value": "<Значение лимита>" }, "used": { "usageServiceStatus": "<Использование лимита>", "amount": "<Использование лимита>" }, "untilDateTimeUtc": "<Дата завершения срока действия лимита>" } ], "groupingKey": "<Ключ группировки примененных акций>", "balanceType": { "ids": { "systemName": "<Системное имя балльного счёта>" }, "name": "<Название балльного счёта>" }, "amount": "<Размер скидки или бонуса примененной промоакции>", "expirationDateTimeUtc": "<Дата сгорания баллов>" } ], "giftCard": { "product": { "ids": { "externalId": "Внешний идентификатор продукта" } }, "amount": "<Номинал>", "ids": { "number": "<Номер карты>" }, "status": { "ids": { "systemName": "<Системное имя статуса карты>" } }, "basePricePerItem": "<Стоимость карты>" }, "lineNumber": "<Номер позиции заказа>", "lineId": "<Идентификатор позиции заказа>", "customFields": { "customField1": "Дополнительные поля линии" }, "minPricePerItem": "<Минимальная цена продукта за единицу продукта>" }, { "product": { "ids": { "externalId": "Внешний идентификатор продукта" }, "name": "<Наименование продукта>", "description": "<Описание>", "price": "<Ссылка на страницу с описанием>", "pictureUrl": "<Ссылка на картинку>" }, "quantity": "<Количество единиц продукта>", "quantityType": "<Тип количества (int или double)>", "basePricePerItem": "<Базовая цена продукта за единицу продукта>", "priceOfLine": "<Конечная цена за линию чека>", "status": { "ids": { "externalId": "<Идентификатор статуса позиции заказа>" }, "category": "<Идентификатор статуса позиции заказа>" }, "appliedPromotions": [ { "type": "<Тип примененной промоакции>", "coupon": { "ids": { "code": "<Промокод>" }, "pool": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор пула промокодов>" }, "name": "<Наименование пула промокодов>", "description": "<Описание пула промокодов>" } }, "promotion": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор промоакции>" }, "name": "<Наименование промоакции>", "type": "<Тип промоакции>" }, "limits": [ { "type": "<Способ агрегации (по акции, по клиенту)>", "amount": { "type": "<Тип значения лимита (количество применений, размер скидки)>", "value": "<Значение лимита>" }, "used": { "usageServiceStatus": "<Использование лимита>", "amount": "<Использование лимита>" }, "untilDateTimeUtc": "<Дата завершения срока действия лимита>" }, { "type": "<Способ агрегации (по акции, по клиенту)>", "amount": { "type": "<Тип значения лимита (количество применений, размер скидки)>", "value": "<Значение лимита>" }, "used": { "usageServiceStatus": "<Использование лимита>", "amount": "<Использование лимита>" }, "untilDateTimeUtc": "<Дата завершения срока действия лимита>" } ], "groupingKey": "<Ключ группировки примененных акций>", "balanceType": { "ids": { "systemName": "<Системное имя балльного счёта>" }, "name": "<Название балльного счёта>" }, "amount": "<Размер скидки или бонуса примененной промоакции>", "expirationDateTimeUtc": "<Дата сгорания баллов>" } ], "giftCard": { "product": { "ids": { "externalId": "Внешний идентификатор продукта" } }, "amount": "<Номинал>", "ids": { "number": "<Номер карты>" }, "status": { "ids": { "systemName": "<Системное имя статуса карты>" } }, "basePricePerItem": "<Стоимость карты>" }, "lineNumber": "<Номер позиции заказа>", "lineId": "<Идентификатор позиции заказа>", "customFields": { "customField1": "Дополнительные поля линии" }, "minPricePerItem": "<Минимальная цена продукта за единицу продукта>" } ], "appliedPromotions": [ { "type": "<Тип примененной промоакции>", "coupon": { "ids": { "code": "<Промокод>" }, "pool": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор пула промокодов>" }, "name": "<Наименование пула промокодов>", "description": "<Описание пула промокодов>" } }, "promotion": { "ids": { "mindboxId": "<Идентификатор Mindbox>", "externalId": "<Внешний идентификатор промоакции>" }, "name": "<Наименование промоакции>", "type": "<Тип промоакции>" }, "limits": [ { "type": "<Способ агрегации (по акции, по клиенту)>", "amount": { "type": "<Тип значения лимита (количество применений, размер скидки)>", "value": "<Значение лимита>" }, "used": { "usageServiceStatus": "<Использование лимита>", "amount": "<Использование лимита>" }, "untilDateTimeUtc": "<Дата завершения срока действия лимита>" }, { "type": "<Способ агрегации (по акции, по клиенту)>", "amount": { "type": "<Тип значения лимита (количество применений, размер скидки)>", "value": "<Значение лимита>" }, "used": { "usageServiceStatus": "<Использование лимита>", "amount": "<Использование лимита>" }, "untilDateTimeUtc": "<Дата завершения срока действия лимита>" } ], "groupingKey": "<Ключ группировки примененных акций>", "balanceType": { "ids": { "systemName": "<Системное имя балльного счёта>" }, "name": "<Название балльного счёта>" }, "amount": "<Размер скидки или бонуса примененной промоакции>", "expirationDateTimeUtc": "<Дата сгорания баллов>" } ], "area": { "ids": { "externalId": "<Идентификатор географической зоны клиента>" } }, "deliveryCost": "<Стоимость доставки>", "bonusPointsInfoPerBalanceType": [ { "spentAmount": "Сумма потраченных баллов с конкретного балльного счета за заказ на настоящий момент времени", "earnedAmount": "Сумма начисленных баллов на конкретный балльный счет за заказ на настоящий момент времени", "balanceType": { "name": "Название балльного счёта", "ids": { "systemName": "<Системное имя балльного счёта>" } } } ], "payments": [ { "type": "<Тип платежа>", "id": "<Идентификатор платежа>", "amount": "<Размер платежа, примененного к заказу>", "promoActionId": "<Идентификатор промоакции>", "creditCard": { "hash": "<Хеш банковской карты>" }, "balanceType": { "ids": { "systemName": "<Системное имя балльного счёта>" }, "name": "<Название балльного счёта>" } } ], "customFields": { "customField1": "Дополнительные поля заказа" }, "createDateTimeUtc": "<Дата создания заказа в UTC>" } ] }
В appliedPromotions в узле type указывается тип примененной промоакции.
Если с примененной промоакцией связан промокод, он вернется в ответе. При использовании внешних промокодов, процессинг которых не на стороне Майндбокс, узел promotion будет отсуствовать.
Поддерживаются следующие типы:
- discount — скидка, может применяться только к позиции заказа
- deliveryDiscount — скидка, может применяться только на заказ
- earnedBonusPoints — начисление бонусных баллов за заказов
- spentBonusPoints — списание бонусных баллов для оплаты заказа
- issuedCoupon — выданный купон за заказ
- message — сообщение покупателю