- Request
- Body
- NotificationType
- PingNotificationDTO
- OrderCreatedNotificationDTO
- OrderStatusUpdatedNotificationDTO
- OrderCancelledNotificationDTO
- OrderCancellationRequestNotificationDTO
- OrderReturnCreatedNotificationDTO
- OrderReturnStatusUpdatedNotificationDTO
- NotificationOrderItemDTO
- OrderStatusType
- OrderSubstatusType
- NotificationReturnItemDTO
- ReturnType
- NotificationUpdatedReturnStatusesDTO
- RefundStatusType
- ReturnShipmentStatusType
- Responses
- 200 OK
- 400 Bad Request
- 500 Internal Server Error
Получение уведомлений
Маркет отправляет магазину уведомления о событиях:
- создание нового заказа;
- изменение статуса заказа;
- создание заявки на отмену заказа;
- отмена заказа;
- создание нового невыкупа или возврата;
- изменение статуса невыкупа или возврата.
Учитывайте эти особенности в работе с уведомлениями
-
Маркет может отправлять несколько уведомлений по одному и тому же событию.
В некоторых случаях это нормальное поведение. Например, может быть несколько уведомлений с изменением статуса заказа из-за поиска курьера.
-
Время в уведомлении, в ответе на запрос к Маркету и в вашей системе может отличаться.
Это происходит из-за того, что в момент отправки уведомления состояние заказа уже может быть другим.
В запросе
POST notification
время события приходит вcreatedAt
,updatedAt
илиcancelledAt
. Выбор параметра зависит от типа уведомления.
Актуальным считайте более позднее время события. Оно может быть в уведомлении, вернуться в ответе на запрос к Маркету или храниться в вашей системе.
Таймаут на получение ответа: 10 секунд.
Request
POST
/notification
Body
application/json
{
"notificationType": "PING",
"time": "2022-12-29T18:02:01Z"
}
Name |
Description |
notificationType* |
Type: NotificationType Тип уведомления:
Enum: |
...rest |
oneOf PingNotificationDTO Проверочное уведомление.
|
...rest |
oneOf OrderCreatedNotificationDTO Уведомление о создании нового заказа.
Чтобы получить подробную информацию о заказе Используйте метод GET campaigns/{campaignId}/orders/{orderId}. |
...rest |
oneOf OrderStatusUpdatedNotificationDTO Уведомление об изменении статуса заказа.
Чтобы изменить статус заказа Используйте метод PUT campaigns/{campaignId}/orders/{orderId}/status. |
...rest |
oneOf OrderCancelledNotificationDTO Уведомление об отмене заказа.
|
...rest |
oneOf OrderCancellationRequestNotificationDTO Уведомление о создании заявки на отмену заказа (для DBS-магазинов).
Чтобы подтвердить или отклонить заявку Используйте метод PUT campaigns/{campaignId}/orders/{orderId}/cancellation/accept. |
...rest |
oneOf OrderReturnCreatedNotificationDTO Уведомление о создании нового невыкупа или возврата.
Чтобы получить подробную информацию о невыкупе или возврате Используйте метод GET campaigns/{campaignId}/orders/{orderId}/returns/{returnId}. |
...rest |
oneOf OrderReturnStatusUpdatedNotificationDTO Уведомление о смене статуса невыкупа или возврата.
Чтобы получить подробную информацию о невыкупе или возврате Используйте метод GET campaigns/{campaignId}/orders/{orderId}/returns/{returnId}. |
NotificationType
Тип уведомления:
PING
— проверочное уведомление.ORDER_CREATED
— создан новый заказ.ORDER_CANCELLED
— заказ отменен.ORDER_STATUS_UPDATED
— статус заказа изменен.ORDER_RETURN_CREATED
— создан новый невыкуп или возврат.ORDER_CANCELLATION_REQUEST
— создана заявка на отмену заказа (для DBS-магазинов).ORDER_RETURN_STATUS_UPDATED
— статус невыкупа или возврата изменен.
Type |
Description |
Enum: |
PingNotificationDTO
Проверочное уведомление.
notificationType
= PING
Name |
Description |
notificationType |
Type: NotificationType Тип уведомления:
Enum: |
time |
Type: string<date-time> Дата и время обработки уведомления со стороны магазина. Формат даты: ISO 8601 со смещением относительно UTC. Например, |
OrderCreatedNotificationDTO
Уведомление о создании нового заказа.
notificationType
= ORDER_CREATED
Чтобы получить подробную информацию о заказе
Используйте метод GET campaigns/{campaignId}/orders/{orderId}.
Name |
Description |
campaignId* |
Type: integer<int64> Идентификатор магазина. |
createdAt* |
Type: string<date-time> Дата и время создания заказа. Формат даты: ISO 8601 со смещением относительно UTC. Например, |
items* |
Type: NotificationOrderItemDTO[] Список товаров в заказе. |
notificationType* |
Type: NotificationType Тип уведомления:
Enum: |
orderId* |
Type: integer<int64> Идентификатор заказа. |
OrderStatusUpdatedNotificationDTO
Уведомление об изменении статуса заказа.
notificationType
= ORDER_STATUS_UPDATED
Чтобы изменить статус заказа
Используйте метод PUT campaigns/{campaignId}/orders/{orderId}/status.
Name |
Description |
campaignId* |
Type: integer<int64> Идентификатор магазина. |
notificationType* |
Type: NotificationType Тип уведомления:
Enum: |
orderId* |
Type: integer<int64> Идентификатор заказа. |
status* |
Type: OrderStatusType Статус заказа:
Также могут возвращаться другие значения. Обрабатывать их не требуется. Enum: |
substatus* |
Type: OrderSubstatusType Этап обработки заказа (если он имеет статус
Также могут возвращаться другие значения. Обрабатывать их не требуется. Enum: |
updatedAt* |
Type: string<date-time> Дата и время изменения статуса заказа. Формат даты: ISO 8601 со смещением относительно UTC. Например, |
OrderCancelledNotificationDTO
Уведомление об отмене заказа.
notificationType
= ORDER_CANCELLED
Name |
Description |
campaignId* |
Type: integer<int64> Идентификатор магазина. |
cancelledAt* |
Type: string<date-time> Дата и время отмены заказа. Формат даты: ISO 8601 со смещением относительно UTC. Например, |
items* |
Type: NotificationOrderItemDTO[] Список товаров в заказе. |
notificationType* |
Type: NotificationType Тип уведомления:
Enum: |
orderId* |
Type: integer<int64> Идентификатор заказа. |
OrderCancellationRequestNotificationDTO
Уведомление о создании заявки на отмену заказа (для DBS-магазинов).
notificationType
= ORDER_CANCELLATION_REQUEST
Чтобы подтвердить или отклонить заявку
Используйте метод PUT campaigns/{campaignId}/orders/{orderId}/cancellation/accept.
Name |
Description |
campaignId* |
Type: integer<int64> Идентификатор магазина. |
notificationType* |
Type: NotificationType Тип уведомления:
Enum: |
orderId* |
Type: integer<int64> Идентификатор заказа. |
requestedAt* |
Type: string<date-time> Дата и время создания заявки на отмену заказа. Формат даты: ISO 8601 со смещением относительно UTC. Например, |
OrderReturnCreatedNotificationDTO
Уведомление о создании нового невыкупа или возврата.
notificationType
= ORDER_RETURN_CREATED
Чтобы получить подробную информацию о невыкупе или возврате
Используйте метод GET campaigns/{campaignId}/orders/{orderId}/returns/{returnId}.
Name |
Description |
campaignId* |
Type: integer<int64> Идентификатор магазина. |
createdAt* |
Type: string<date-time> Дата и время создания невыкупа или возврата. Формат даты: ISO 8601 со смещением относительно UTC. Например, |
items* |
Type: NotificationReturnItemDTO[] Список товаров в невыкупе или возврате. |
notificationType* |
Type: NotificationType Тип уведомления:
Enum: |
orderId* |
Type: integer<int64> Идентификатор заказа. |
returnId* |
Type: integer<int64> Идентификатор невыкупа или возврата. |
returnType* |
Type: ReturnType Тип заказа для фильтрации:
Если не указать, в ответе будут и невыкупы, и возвраты. Enum: |
OrderReturnStatusUpdatedNotificationDTO
Уведомление о смене статуса невыкупа или возврата.
notificationType
= ORDER_RETURN_STATUS_UPDATED
Чтобы получить подробную информацию о невыкупе или возврате
Используйте метод GET campaigns/{campaignId}/orders/{orderId}/returns/{returnId}.
Name |
Description |
campaignId* |
Type: integer<int64> Идентификатор магазина. |
notificationType* |
Type: NotificationType Тип уведомления:
Enum: |
orderId* |
Type: integer<int64> Идентификатор заказа. |
returnId* |
Type: integer<int64> Идентификатор невыкупа или возврата. |
statuses* |
Type: NotificationUpdatedReturnStatusesDTO Информация об обновлении статуса невыкупа или возврата. Возвращается только тот статус, который был изменен. Для невыкупов приходит только Параметр |
NotificationOrderItemDTO
Информация о товаре в заказе.
Name |
Description |
count* |
Type: integer Количество товара. |
offerId* |
Type: string Ваш SKU — идентификатор товара в вашей системе. Правила использования SKU:
SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов. Что такое SKU и как его назначать Min length: Max length: Pattern: |
OrderStatusType
Статус заказа:
-
PLACING
— оформляется, подготовка к резервированию. -
RESERVED
— зарезервирован, но недооформлен. -
UNPAID
— оформлен, но еще не оплачен (если выбрана оплата при оформлении). -
PROCESSING
— находится в обработке. -
DELIVERY
— передан в службу доставки. -
PICKUP
— доставлен в пункт самовывоза. -
DELIVERED
— получен покупателем. -
CANCELLED
— отменен. -
PENDING
— ожидает обработки со стороны продавца. -
PARTIALLY_RETURNED
— возвращен частично. -
RETURNED
— возвращен полностью. -
UNKNOWN
— неизвестный статус.
Также могут возвращаться другие значения. Обрабатывать их не требуется.
Type |
Description |
Enum: |
OrderSubstatusType
Этап обработки заказа (если он имеет статус PROCESSING
) или причина отмены заказа (если он имеет статус CANCELLED
).
-
Значения для заказа в статусе
PROCESSING
:-
STARTED
— заказ подтвержден, его можно начать обрабатывать. -
READY_TO_SHIP
— заказ собран и готов к отправке.
-
-
Значения для заказа в статусе
CANCELLED
:-
RESERVATION_EXPIRED
— покупатель не завершил оформление зарезервированного заказа в течение 10 минут. -
USER_NOT_PAID
— покупатель не оплатил заказ (для типа оплатыPREPAID
) в течение 30 минут. -
USER_UNREACHABLE
— не удалось связаться с покупателем. Для отмены с этой причиной необходимо выполнить условия:- не менее 3 звонков с 8 до 21 в часовом поясе покупателя;
- перерыв между первым и третьим звонком не менее 90 минут;
- соединение не короче 5 секунд.
Если хотя бы одно из этих условий не выполнено (кроме случая, когда номер недоступен), отменить заказ не получится. Вернется ответ с кодом ошибки 400.
-
USER_CHANGED_MIND
— покупатель отменил заказ по личным причинам. -
USER_REFUSED_DELIVERY
— покупателя не устроили условия доставки. -
USER_REFUSED_PRODUCT
— покупателю не подошел товар. -
SHOP_FAILED
— магазин не может выполнить заказ. -
USER_REFUSED_QUALITY
— покупателя не устроило качество товара. -
REPLACING_ORDER
— покупатель решил заменить товар другим по собственной инициативе. -
PROCESSING_EXPIRED
— значение более не используется. -
PICKUP_EXPIRED
— закончился срок хранения заказа в ПВЗ. -
TOO_MANY_DELIVERY_DATE_CHANGES
— заказ переносили слишком много раз. -
DELIVERY_DATE_CHANGED_TOO_MUCH
— заказ перенесен на слишком много дней.
-
-
TECHNICAL_ERROR
— техническая ошибка на стороне Маркета. Обратитесь в поддержку.
Также могут возвращаться другие значения. Обрабатывать их не требуется.
Type |
Description |
Enum: |
NotificationReturnItemDTO
Информация о товаре в невыкупе или возврате.
Name |
Description |
count* |
Type: integer Количество товара. |
offerId* |
Type: string Ваш SKU — идентификатор товара в вашей системе. Правила использования SKU:
SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов. Что такое SKU и как его назначать Min length: Max length: Pattern: |
ReturnType
Тип заказа для фильтрации:
-
UNREDEEMED
— невыкуп. -
RETURN
— возврат.
Если не указать, в ответе будут и невыкупы, и возвраты.
Type |
Description |
Enum: |
NotificationUpdatedReturnStatusesDTO
Информация об обновлении статуса невыкупа или возврата.
Возвращается только тот статус, который был изменен.
Для невыкупов приходит только shipmentStatus
.
Параметр shipmentStatus
не приходит для возвратов с опцией Быстрый возврат денег за дешевый брак, когда товар остается у покупателя.
Name |
Description |
refundStatus |
Type: RefundStatusType Статус возврата денег:
Enum: |
shipmentStatus |
Type: ReturnShipmentStatusType Статус передачи возврата:
Enum: |
RefundStatusType
Статус возврата денег:
-
STARTED_BY_USER
— создан клиентом из личного кабинета. -
REFUND_IN_PROGRESS
— ждет решение о возврате денег. -
REFUNDED
— по возврату проведены все возвратные денежные транзакции. -
FAILED
— невозможно провести возврат покупателю. -
WAITING_FOR_DECISION
— ожидает решения. -
DECISION_MADE
— по возврату принято решение. -
REFUNDED_WITH_BONUSES
— возврат осуществлен баллами Плюса или промокодом. -
REFUNDED_BY_SHOP
— магазин сделал самостоятельно возврат денег. -
COMPLETE_WITHOUT_REFUND
— возврат денег не требуется. -
CANCELLED
— возврат отменен. -
UNKNOWN
— неизвестный статус.
Type |
Description |
Enum: |
ReturnShipmentStatusType
Статус передачи возврата:
-
CREATED
— возврат создан. -
RECEIVED
— принят у покупателя. -
IN_TRANSIT
— возврат в пути. -
READY_FOR_PICKUP
— возврат готов к выдаче магазину. -
PICKED
— возврат выдан магазину. -
LOST
— возврат утерян при транспортировке. -
EXPIRED
— покупатель не принес товар на возврат вовремя. -
CANCELLED
— возврат отменен. -
FULFILMENT_RECEIVED
— возврат принят на складе Маркета. -
PREPARED_FOR_UTILIZATION
— возврат передан в утилизацию. -
NOT_IN_DEMAND
— возврат не забрали с почты. -
UTILIZED
— возврат утилизирован. -
READY_FOR_EXPROPRIATION
— товары в возврате направлены на перепродажу. -
RECEIVED_FOR_EXPROPRIATION
— товары в возврате приняты для перепродажи. -
UNKNOWN
— неизвестный статус.
Type |
Description |
Enum: |
Responses
200 OK
Ответ на корректный запрос с информацией об обработке уведомления.
Body
application/json
{
"version": "string",
"name": "string",
"time": "2022-12-29T18:02:01Z"
}
Name |
Description |
name* |
Type: string Название интеграции. Min length: Max length: |
time* |
Type: string<date-time> Дата и время начала обработки уведомления в формате UTC. |
version* |
Type: string Версия интеграции. Min length: Max length: |
400 Bad Request
Если Маркет прислал некорректное уведомление, верните статус 400
с описанием ошибки.
Body
application/json
{
"error": {
"type": "UNKNOWN",
"message": "string"
}
}
Name |
Description |
error |
Type: NotificationApiErrorDTO Ошибка при обработке уведомления. |
NotificationApiErrorDTO
Ошибка при обработке уведомления.
Name |
Description |
message |
Type: string Описание ошибки. |
type |
Type: NotificationApiErrorType Тип ошибки:
Enum: |
NotificationApiErrorType
Тип ошибки:
UNKNOWN
— неизвестная ошибка.WRONG_EVENT_FORMAT
— неправильный тип уведомления.DUPLICATED_EVENT
— дублирующее уведомление.
Type |
Description |
Enum: |
500 Internal Server Error
Если произошла техническая ошибка на вашей стороне, верните статус 500
. API магазина не отвечает
Body
application/json
{
"error": {
"type": "UNKNOWN",
"message": "string"
}
}
Name |
Description |
error |
Type: NotificationApiErrorDTO Ошибка при обработке уведомления. |
No longer supported, please use an alternative and newer version.