HTTP-нотификации#

При смене статуса заказа «Подели» отправляет HTTP-нотификацию (вебхук) методом POST на адрес из поля notificationUrl метода CREATE (или на дефолтный адрес из настроек магазина). Нотификация содержит текущее состояние заказа: статус, состав корзины, график платежей и данные по возвратам.

Для приёма нотификаций сервис Магазина-Партнёра должен быть доступен из публичной сети интернет (публичный «белый» IP-адрес с фильтрацией источника вызова).

Ниже приведены примеры нотификаций для каждого статуса заказа и для смены статуса субпартнёра. Формат тела одинаков для всех статусов заказа; отличается только наполнение секций paymentSchedule и refund.

Подсказка

Тестовый контур (sandbox): https://api-sand.podeli.ru. IP-адрес отправки нотификаций: 111.88.241.154. Принимайте нотификации только с этого IP-адреса и отклоняйте запросы с других адресов.

Внимание

Тело нотификации содержит параметр statusDateTime — обрабатывайте нотификации на своей стороне в порядке этого параметра.

Примечание

Секция paymentSchedule приходит заполненной только после расчёта графика — он рассчитывается при одобрении заказа (статус APPROVED); до этого секция пустая. Персональные данные Клиента в секции clientInfo передаются в маскированном виде.

APPROVED — заявка одобрена#

Заявка на оплату через «Подели» одобрена.

Пример нотификации (JSON)
{
  "order": {
    "id": "order_number",
    "amount": 12000.00,
    "prepaidAmount": 1000.00,
    "amountOrder": 13000.00,
    "statusCode": "APPROVED",
    "statusName": "Заявка одобрена",
    "statusDateTime": "2023-01-01T18:59:29.000000",
    "date": "2023-01-01",
    "items": [
      {
        "id": "30b925fb-42ae-469d-960e-7cb093d8867e",
        "article": "3ABC14858383D",
        "name": "Кроссовки мужские",
        "amount": 2500.00,
        "quantity": 2,
        "itemPrepaidAmount": 200.00
      },
      {
        "id": "a72146ce-af5c-49ab-b431-a5bdcf9a61b5",
        "article": "1HBC14858293F",
        "name": "Зимняя куртка мужская",
        "amount": 3000.00,
        "quantity": 1,
        "itemPrepaidAmount": 300.00
      },
      {
        "id": "1b168268-cd81-46ce-814f-dedecab54941",
        "article": "1B9F9F8S92F3D",
        "name": "Микроволновка",
        "amount": 4000.00,
        "quantity": 1,
        "itemPrepaidAmount": 300.00
      }
    ]
  },
  "clientInfo": {
    "firstName": "*",
    "lastName": "*",
    "middleName": "*",
    "birthdate": "0001-01-01",
    "phone": "*",
    "email": "*"
  },
  "paymentSchedule": [],
  "refund": []
}

COMPLETED — первый платёж оплачен#

Первый платёж по заказу оплачен.

Пример нотификации (JSON)
{
  "order": {
    "id": "order_number",
    "amount": 12000.00,
    "prepaidAmount": 1000.00,
    "amountOrder": 13000.00,
    "statusCode": "COMPLETED",
    "statusName": "Заказ оплачен",
    "statusDateTime": "2023-01-01T18:59:29.000000",
    "date": "2023-01-01",
    "items": [
      {
        "id": "30b925fb-42ae-469d-960e-7cb093d8867e",
        "article": "3ABC14858383D",
        "name": "Кроссовки мужские",
        "amount": 2500.00,
        "quantity": 2,
        "itemPrepaidAmount": 200.00
      },
      {
        "id": "a72146ce-af5c-49ab-b431-a5bdcf9a61b5",
        "article": "1HBC14858293F",
        "name": "Зимняя куртка мужская",
        "amount": 3000.00,
        "quantity": 1,
        "itemPrepaidAmount": 300.00
      },
      {
        "id": "1b168268-cd81-46ce-814f-dedecab54941",
        "article": "1B9F9F8S92F3D",
        "name": "Микроволновка",
        "amount": 4000.00,
        "quantity": 1,
        "itemPrepaidAmount": 300.00
      }
    ]
  },
  "clientInfo": {
    "firstName": "*",
    "lastName": "*",
    "middleName": "*",
    "birthdate": "0001-01-01",
    "phone": "*",
    "email": "*"
  },
  "paymentSchedule": [
    {
      "paymentNumber": "1",
      "paymentDate": "2023-01-01T18:59",
      "paymentAmount": 4000.00,
      "statusName": "Платеж совершен успешно"
    },
    {
      "paymentNumber": "2",
      "paymentDate": "2023-01-15T15:00",
      "paymentAmount": 4000.00,
      "statusName": "Платеж запланирован"
    },
    {
      "paymentNumber": "3",
      "paymentDate": "2023-01-29T15:00",
      "paymentAmount": 4000.00,
      "statusName": "Платеж запланирован"
    },
    {
      "paymentNumber": "4",
      "paymentDate": "2023-02-12T15:00:00",
      "paymentAmount": 4000.00,
      "statusName": "Платеж запланирован"
    }
  ],
  "refund": []
}

CANCELLED — автоотмена по сроку жизни#

Заказ автоматически отменён по истечении срока жизни.

Нотификация со статусом CANCELLED отправляется только при автоматической отмене заказа по сроку жизни. При отмене методом CANCEL нотификация не отправляется — результат возвращается в синхронном ответе метода. После отмены заказ автоматически переходит в финальный статус REJECTED (см. статусную модель).

Пример нотификации (JSON)
{
  "order": {
    "id": "order_number",
    "amount": 12000.00,
    "prepaidAmount": 1000.00,
    "amountOrder": 13000.00,
    "statusCode": "CANCELLED",
    "statusName": "Отмена заявки",
    "statusDateTime": "2023-01-01T18:59:29.000000",
    "date": "2023-01-01",
    "items": [
      {
        "id": "30b925fb-42ae-469d-960e-7cb093d8867e",
        "article": "3ABC14858383D",
        "name": "Кроссовки мужские",
        "amount": 2500.00,
        "quantity": 2,
        "itemPrepaidAmount": 200.00
      },
      {
        "id": "a72146ce-af5c-49ab-b431-a5bdcf9a61b5",
        "article": "1HBC14858293F",
        "name": "Зимняя куртка мужская",
        "amount": 3000.00,
        "quantity": 1,
        "itemPrepaidAmount": 300.00
      },
      {
        "id": "1b168268-cd81-46ce-814f-dedecab54941",
        "article": "1B9F9F8S92F3D",
        "name": "Микроволновка",
        "amount": 4000.00,
        "quantity": 1,
        "itemPrepaidAmount": 300.00
      }
    ]
  },
  "clientInfo": {
    "firstName": "*",
    "lastName": "*",
    "middleName": "*",
    "birthdate": "0001-01-01",
    "phone": "*",
    "email": "*"
  },
  "paymentSchedule": [],
  "refund": []
}

REJECTED — заявка отклонена#

Заявка на оплату через «Подели» отклонена.

Пример нотификации (JSON)
{
  "order": {
    "id": "order_number",
    "amount": 12000.00,
    "prepaidAmount": 1000.00,
    "amountOrder": 13000.00,
    "statusCode": "REJECTED",
    "statusName": "Отказ по заявке",
    "statusDateTime": "2023-01-01T18:59:29.000000",
    "date": "2023-01-01",
    "items": [
      {
        "id": "30b925fb-42ae-469d-960e-7cb093d8867e",
        "article": "3ABC14858383D",
        "name": "Кроссовки мужские",
        "amount": 2500.00,
        "quantity": 2,
        "itemPrepaidAmount": 200.00
      },
      {
        "id": "a72146ce-af5c-49ab-b431-a5bdcf9a61b5",
        "article": "1HBC14858293F",
        "name": "Зимняя куртка мужская",
        "amount": 3000.00,
        "quantity": 1,
        "itemPrepaidAmount": 300.00
      },
      {
        "id": "1b168268-cd81-46ce-814f-dedecab54941",
        "article": "1B9F9F8S92F3D",
        "name": "Микроволновка",
        "amount": 4000.00,
        "quantity": 1,
        "itemPrepaidAmount": 300.00
      }
    ]
  },
  "clientInfo": {
    "firstName": "*",
    "lastName": "*",
    "middleName": "*",
    "birthdate": "0001-01-01",
    "phone": "*",
    "email": "*"
  },
  "paymentSchedule": [],
  "refund": []
}

WAIT_FOR_COMMIT — ожидается подтверждение#

Заявка одобрена, первый платёж захолдирован. Заказ ожидает подтверждения от Магазина-Партнёра. График платежей к этому моменту уже рассчитан и передаётся в нотификации.

Пример нотификации (JSON)
{
  "order": {
    "id": "937c7802-5c24-4a4b-81af-1837e8be2a23",
    "amount": 967.98,
    "prepaidAmount": 0.0,
    "amountOrder": 967.98,
    "statusCode": "WAIT_FOR_COMMIT",
    "statusName": "Ожидается подтверждение заказа",
    "statusDateTime": "2026-06-26T12:27:23.835856",
    "date": "2026-06-26",
    "items": [
      {
        "id": "324933e0-9c8b-4617-91dc-63f6bcec6e98",
        "article": "3923407",
        "name": "Кроссовки мужские",
        "amount": 439.99,
        "quantity": 2.0,
        "itemPrepaidAmount": 0.0
      },
      {
        "id": "2bf5880f-ee10-4b29-a5a1-d997ef7caee3",
        "article": "S001306",
        "name": "Доставка, сборка и упаковка",
        "amount": 88.0,
        "quantity": 1.0,
        "itemPrepaidAmount": 0.0
      }
    ]
  },
  "clientInfo": {
    "firstName": "**",
    "lastName": "**",
    "middleName": "**",
    "birthdate": "**",
    "phone": "**",
    "email": "**"
  },
  "paymentSchedule": [
    {
      "paymentNumber": "1",
      "paymentDate": "2026-06-26T12:27",
      "paymentAmount": 242.0,
      "statusName": "Платеж захолдирован"
    },
    {
      "paymentNumber": "2",
      "paymentDate": "2026-07-10T15:00",
      "paymentAmount": 242.0,
      "statusName": "Платеж запланирован"
    },
    {
      "paymentNumber": "3",
      "paymentDate": "2026-07-24T15:00",
      "paymentAmount": 242.0,
      "statusName": "Платеж запланирован"
    },
    {
      "paymentNumber": "4",
      "paymentDate": "2026-08-07T15:00",
      "paymentAmount": 241.98,
      "statusName": "Платеж запланирован"
    }
  ],
  "refund": []
}

REFUNDED — возврат по заказу#

Успешный возврат по заказу.

Пример нотификации (JSON)
{
  "order": {
    "id": "order_number",
    "amount": 12000.00,
    "prepaidAmount": 1000.00,
    "amountOrder": 13000.00,
    "statusCode": "REFUNDED",
    "statusName": "Возврат заказа",
    "statusDateTime": "2023-01-01T18:59:29.000000",
    "date": "2023-01-01",
    "items": [
      {
        "id": "30b925fb-42ae-469d-960e-7cb093d8867e",
        "article": "3ABC14858383D",
        "name": "Кроссовки мужские",
        "amount": 2500.00,
        "quantity": 2,
        "itemPrepaidAmount": 200.00
      },
      {
        "id": "a72146ce-af5c-49ab-b431-a5bdcf9a61b5",
        "article": "1HBC14858293F",
        "name": "Зимняя куртка мужская",
        "amount": 3000.00,
        "quantity": 1,
        "itemPrepaidAmount": 300.00
      },
      {
        "id": "1b168268-cd81-46ce-814f-dedecab54941",
        "article": "1B9F9F8S92F3D",
        "name": "Микроволновка",
        "amount": 4000.00,
        "quantity": 1,
        "itemPrepaidAmount": 300.00
      }
    ]
  },
  "clientInfo": {
    "firstName": "*",
    "lastName": "*",
    "middleName": "*",
    "birthdate": "0001-01-01",
    "phone": "*",
    "email": "*"
  },
  "paymentSchedule": [
    {
      "paymentNumber": "1",
      "paymentDate": "2023-01-01T18:59",
      "paymentAmount": 4000.00,
      "statusName": "Платеж совершен успешно"
    },
    {
      "paymentNumber": "2",
      "paymentDate": "2023-01-15T15:00",
      "paymentAmount": 4000.00,
      "statusName": "Платеж запланирован"
    },
    {
      "paymentNumber": "3",
      "paymentDate": "2023-01-29T15:00",
      "paymentAmount": 4000.00,
      "statusName": "Платеж запланирован"
    },
    {
      "paymentNumber": "4",
      "paymentDate": "2023-02-12T15:00:00",
      "paymentAmount": 4000.00,
      "statusName": "Платеж запланирован"
    }
  ],
  "refund": [
    {
      "id": "refund_number",
      "status": "Возврат обработан, денежные средства возмещены клиенту",
      "refundDate": "2023-01-02T18:00:00.000000",
      "totalRefundedAmount": 2500.00,
      "refundedPrepaidAmount": 200.00,
      "refundedAmountCredit": 2500.00,
      "items": [
        {
          "id": "30b925fb-42ae-469d-960e-7cb093d8867e",
          "refundedQuantity": 1,
          "refundedAmount": 2500.00,
          "refundedPrepaidAmount": 200.00
        }
      ]
    }
  ]
}

Изменение статуса субпартнёра#

Нотификация для Партнёров-агрегаторов, использующих методы SUBPARTNER. Отправляется при изменении статуса субпартнёра: после активации заявки на регистрацию, при отказе или при отключении субпартнёра.

Когда и куда отправляется

  • Метод POST на URL из поля notificationUrlReg (передаётся при регистрации субпартнёра). Если notificationUrlReg не указан, нотификация приходит на дефолтный адрес HTTP-нотификаций Магазина-Партнёра.

  • Заголовок X-Correlation-ID передаётся пустым.

  • Если получен ответ со статус-кодом, отличным от 200, отправка повторяется (до 3 циклов).

Формат тела

Поле

Тип

Описание

subPartnerInfo*

object

Субпартнёр

subPartnerInfo.login*

string

Логин субпартнёра

subPartnerInfo.status*

string

Статус субпартнёра — см. справочник ниже

Справочник статусов субпартнёра

Статус

Описание

ACTIVATED

Данные субпартнёра подтверждены, субпартнёр активирован

REFUSED

Отказ по заявке на регистрацию

TERMINATED

Обслуживание субпартнёра прекращено (субпартнёр был активирован, затем отключён)

Пример нотификации (JSON)
{
  "subPartnerInfo": {
    "login": "submerchant_01",
    "status": "ACTIVATED"
  }
}