====== Как происходит обработка полных/частичных возвратов и отмены заказов? ====== **Важные замечания** - В Insales нет понятия частичного возврата заказа. Только полный возврат заказа путем перевода заказа в статус «Возврат». Есть [[https://insales.userecho.ru/communities/1/topics/1530-chastichnyij-vyikup-zakaza|тикет]] на доработку Insales, который пока не реализован. - Возврат и отмена заказа — это разные процессы. Отмена используется для заказов, которые не были подтверждены в Максма. Она откатывает начисление или резервирование бонусов. Возврат используется для заказов, которые уже подтверждены в Максма. Он инициирует процесс возврата ранее начисленных бонусов. ===== Логика обработки статусов inSales ===== Расширение отслеживает изменения статусов заказов в inSales и реагирует на два основных системных статуса: «Отмена» и «Возврат». Статус «В процессе возврата» приложение не обрабатывает. ==== Статус «Отмена» ==== При получении этого статуса система проверяет, был ли заказ подтвержден в Максма. Если заказ //не подтвержден//, то расширение отправляет запрос cancel-order в Максма. Бонусы, зарезервированные при создании заказа, возвращаются клиенту. Если заказ //уже подтвержден//, то расширение **не отправляет** запрос на отмену. Отмена подтвержденного заказа через API невозможна и приведет к ошибке «Заказ уже обработан». В этом случае должен использоваться статус «Возврат». ==== Статус «Возврат» ==== При получении этого статуса система проверяет статус заказа в Максма и действует следующим образом: * Для **новых заказов** (статус в Максма «Новый») приложение сначала отправляет confirm-order для подтверждения заказа, а затем сразу же apply-return для инициации возврата. Это позволяет вернуть бонусы, которые были бы начислены при подтверждении. * Для **подтвержденных заказов** приложение отправляет apply-return для возврата. * Для **отмененных или уже возвращенных заказов** (статусы в Максма «Отменен», «Возвращен») приложение //ничего не делает//. === Полный и частичный возврат === == Полный возврат == Полный возврат бонусов осуществляется автоматически при установке статуса «Возврат» в inSales, согласно логике, описанной выше. Система возвращает все бонусы, связанные с заказом. == Частичный возврат == Текущая реализация системы интеграции НЕ ПРЕДУСМАТРИВАЕТ обработку частичных возвратов. Это означает, что: * Из inSales невозможно передать информацию о том, что возвращается только часть товаров заказа. * Максма требует подтверждения **всего** заказа для выполнения **любого** возврата. Поэтому, даже если клиент возвращает лишь один товар из заказа, то приложение инициирует возврат бонусов по всему заказу целиком. Если бизнес-процесс требует учета частичных возвратов и у магазина есть понятный внутренний процесс обработки их в inSales, то свяжитесь с нами, и мы можем за отдельную плату доработать интеграцию под процессы магазина.