Синхронизация статусов заказов

IMSHOP Retail Protocol (IRP) является объектом интеллектуальной собственности ООО «АЙ ЭМ СОЛЮШНЗ» (IMSHOP) и защищён как объект авторского права. Свидетельство о депонировании произведения № 023-014461 от 16 января 2023 г. подтверждает исключительные права ООО «АЙ ЭМ СОЛЮШНЗ» на данные технологии.

IMSHOP Retail Protocol создан по заказу ООО «АЙ ЭМ СОЛЮШНЗ». Использование IMSHOP Retail Protocol допустимо только при взаимодействии с ООО "АЙ ЭМ СОЛЮШНЗ" и наличии действующего лицензионного договора. Более подробно можно ознакомиться здесь.

Данная интеграция является API. То есть запрос идет в систему Imshop.

Для получения URL обратитесь к вашему менеджеру

Статус заказа изменяется со стороны сайта или других систем клиента

Дополнительные интеграции вводятся в эксплуатацию после завершения основных интеграций:

Для подключения дополнительных интеграций обратитесь к вашему менеджеру в IMSHOP.IO

Вам также надо будет передать в IMSHOP.IO идентификаторы и описания всех возможных статусов заказа в вашей системе

Запрос

Описание формата

  • id - Номер заказа в системе клиента

  • code - Идентификатор статуса заказа в системе клиента

  • message - опционально, статус заказа в текстовом виде. Этот текст увидит покупатель в приложении

  • trackingUrl - опционально, ссылка на страницу отслеживания почтового или курьерского отправления

  • userId - опционально, идентификатор покупателя в вашей системе. В его качестве также может выступать номер телефона без форматирования. Используется для отправки пуш-уведомлений о заказах, сделанных не через приложение

  • payment - (опционально) новый статус оплаты. Передавать только если статус оплаты изменился. Если payment присутствует в запросе, то оба дочерних поля paid и paymentId обязательны. Даже если идентификатор оплаты совпадает с номером заказа, поле должно присутствовать. Передача статуса оплаты помогает актуализировать локальную историю заказов для неавторизованных пользователей. Также передача статуса оплаты позволит вести более детальную статистику выкупа заказов

    • paid - true/false - новый статус оплаты. true - оплачен

    • paymentId - если paid=true, идентификатор платежа из платежного шлюза, иначе null

Пример

{
    "id": "05671863",
    "code": "packed",
    "message": "Готов к выдаче",
    "trackingUrl": "https://www.cdek.ru/ru/tracking?order_id=1234567890",
    "userId": "79999999999",
    "payment": {
        "paid": true,
        "paymentId": "pid11867768771123-123"
    }
}

Ответ

Описание формата

  • success - Флаг успешного выполнения

  • internalId - Номер заказа в системе клиента

  • uuid - UUID заказа в системе IMSHOP.IO

  • newStatus - Идентификатор нового статуса заказа в системе клиента

  • imshopStatus - Идентификатор нового статуса заказа в IMSHOP.IO

  • message - Текстовый статус заказа

Пример ответа

{
    "success": true,
    "internalId": "05671863",
    "uuid": "cfe64e76-dbc4-4f0f-b9d1-7423aeb6f195",
    "newStatus": "packed",
    "imshopStatus": "ready_for_pickup",
    "message": "Готов к выдаче"
}

Статус заказа изменяется со стороны мобильного приложения

Сценарий использования, например, когда покупатель нажимает на кнопку отмены заказа в самом приложении, в этом случае приложение отправляет запрос в систему клиента

От вас потребуется URL, на который наш сервер будет слать POST-запрос. Да, мы запрашиваем данные через POST, а не через GET.

Запрос

Описание формата

  • id - Номер заказа в системе клиента

  • status - Cтатус заказа в системе IMSHOP

  • reason - опционально, причина отмены, если пользователь предоставил

Пример

{
    "id": "12345",
    "status": "canceled",
    "reason": "Не дозвонились, купил в другом магазине"
}

Ответ

Описание формата

  • success - Флаг успешного выполнения

  • status - опционально, идентификатор нового статуса заказа в системе клиента, чтобы он сработал, должна быть настроена таблица соответствия статусов заказов между системой IMSHOP и системой клиента, для этого Вам надо будет передать в IMSHOP.IO идентификаторы и описания всех возможных статусов заказа в вашей системе

  • message - опционально, новый текстовый статус заказа

Пример ответа

{
    "success": true,
    "status": "cancelled",
    "message": "Отменен"
}

Last updated