6. Покупательские возвраты
О полученных возвратах продавец должен оповещать Мегамаркет самостоятельно. Это зафиксировано в Приложении 3, пункте 1.5.15. к Единой оферте. Без уведомления мы не сможем корректно рассчитать выплаты по бонусным программам.
Оповещать нужно не позднее чем до конца следующего дня после получения товара продавцом. Оповещать Мегамаркет о возвратах вы можете с помощью API-метода order/return.
Когда мы скорректируем выплаты по бонусным программам, система отправит продавцу и покупателю уведомление, что обращение закрыто.
Как авторизоваться и начать работу в сервисе Мегамаркета
Для обращения к сервису Мегамаркета нужен авторизационный токен. Его можно получить в личном кабинете, в разделе Настройки → Интеграция API → Авторизационный токен.
Для тестовой и продуктовой среды нужно использовать разные токены.
Ограничение на отправку запросов — до 5 запросов в секунду для одного продавца.
Заголовок (header) запросов для работы с партнёрским API:
-header 'Content-Type: application/json'
Запросы с User-agent типа 'User-Agent': 'python-requests/2.26.0' система воспринимает как автоматические, поэтому блокирует.
Описание метода order/return
Запрос выполняется от продавца к Мегамаркету.
Тип среды | Адрес метода для продуктовой и тестовой среды |
---|---|
order/return (тестовая среда) | https://api-test.megamarket.tech/api/market/v1/orderService/order/return |
order/return (продуктовая среда) | https://api.megamarket.tech/api/market/v1/orderService/order/return |
{ "meta": {}, "data": { "token": "********-****-****-****-************", "shipments": [ { "shipmentId": "8866897345678", "returnReason": "string", "items": [ { "itemIndex": "1", "refundedAmount": 690 }, { "itemIndex": "2", "refundedAmount": 830 } ], "outletId": "09ST" } ] } }
Структура данных в теле запроса | Описание | Обязательность | Тип данных |
---|---|---|---|
1. meta | Поля для расширенной информации. Предназначены для особой обработки или обратной совместимости. Обычно всегда пустое | Да | Object |
2. data | Общий блок с данными | Да | Object |
2.1. token | Уникальный ключ для аутентификации продавца | Да | String |
2.2. shipments | Данные об отправлениях | Да | Array |
2.2.1. shipmentId | Идентификатор отправления Мегамаркета | Да | String |
2.2.2. returnReason | Причина возврата: 1. «incompleted» — неполная комплектация товаров в заказе; 2. «incorrected» — товар не соответствует заказанному; 3. «defected» — неисправный товар (брак); 4. «damaged» — товар повреждён; 5. «expired» — у товара истёк срок годности; 6. «used» — есть признаки, что товар был использован; 7. «not_suitable» — товар не подошёл или покупатель передумал | Да | String |
2.2.3. items | Данные о лотах | Да | Array |
2.2.3.1. itemindex | Порядковый номер лота. Приходит в order/new при создании заказа | Да | String |
2.2.3.2. refundedAmount | Это объём денежных средств, который продавец вернул покупателю. Значение refundedAmount должно быть равно окончательной цене лота (finalPrice) из ответа метода order/get или order/new | Да | Float (два знака после точки, если есть копейки) |
2.2.4. outletId | Место, куда вернули товар | Нет | String |
{ "data": {}, "meta": {}, "success": 1 }
Метод возвращает ошибку, если:
- вызов метода повторяется с теми же данными;
- идентификатор отправления (shipmentId) не существует или не принадлежит указанному идентификатору продавца (merchantId);
- у лота, указанного в запросе, нет статуса «Доставлен» (DELIVERED). Чтобы проверить статус заказа, воспользуйтесь методом order/get;
- сумма возврата не совпадает с суммой лота после применения скидок (finalPrice).
Ответы на вопросы
Взимается ли комиссия за возврат
Нет, дополнительных комиссий за возврат Мегамаркет не берёт.
Что будет, если передать не то значение в refundedAmount
Появится ошибка. В поле refundedAmount должно быть указано количество денег, которое заплатил покупатель. Бонусы не учитываются.
Зачем передавать refundedAmount, если Мегамаркет знает, какое значение продавец должен передать
Это необходимо, чтобы выявить расхождения в данных покупателя и Мегамаркета.
Для чего нужно сообщать место, куда вернули товар
Если покупатель обратится с претензией, можно будет восстановить цепочку событий и понять, в какое место был отдан товар для возврата.
После отправки запроса возвращается ошибка
Проверьте, что:
- у лота заказа есть статус «Доставлен» (DELIVERED),
- введён корректный номер отправления (shipmentId),
- не сообщали ли вы раньше о заказе и лоте,
- указана верная стоимость лота (refundedAmount).
Если всё верно, обратитесь в Службу поддержки.
Как понять, какую сумму указать в refundedAmount
Точная сумма указана в чеке. Также вы можете вызвать API-метод order/get или получить данные из запроса метода order/new — в поле finalPrice будет указана цена лота.