Перейти к основному содержимому
Altcraft Docs LogoAltcraft Docs Logo
Пользователям iconПользователям
Разработчикам iconРазработчикам
Администраторам iconАдминистраторам
Русский
  • Русский
  • English
Войти
    API пользователя
    Взаимодействие с API
    Матчинг
      Профилиarrow
    • Импортировать профиль
      Обновить профиль
      Добавить профиль в базу данных
      Получить информацию о профиле
      Импортировать профиль в RabbitMQ
      Массовое добавление профилей в базу данных
      Массовое обновление профилей
      Массовый импорт профилей
      Приостановить все профили в базе данных
      Восстановить все приостановленные профили в базе данных
      Удалить профиль
      Упрощенный импорт профиля
      Функциональное обновление полей базы
      Функциональное обновление полей подписки
      Выгрузка профилей в файл
      Получение данных по нескольким профилям
      Объединение нескольких профилей
      Отписать профиль от ресурса
      Разделение профиля
        Историяarrow
      • Получить историю одного профиля
        Получить историю нескольких профилей
        Связи профилейarrow
      • Добавить связь
        Удалить связь
        Усилить/ослабить связь
        Перезаписать значения свойств связи
        Получить информацию о связях профиля
        Получить список связей профиля
        Подпискиarrow
      • Добавить или редактировать подписку
        Получить все подписки профиля
        Получить все подписки нескольких профилей
        Получить информацию о подписке профиля
        Удалить подписку профиля
        Восстановить удаленную подписку профиля
        Приостановить все подписки
        Восстановить все приостановленные подписки
      Базы данныхarrow
    • Получить список баз данных
      Получить информацию о базе данных
      Получить информацию о полях базы данных
      Очистка базы данных для тестирования
      Получить статистику по базе данных
      Обновить статистику по базе данных
      Ресурсыarrow
    • Получить список ресурсов
      Получить информацию о ресурсе
      Получить информацию о полях подписки ресурса
      Получить статистику по ресурсам
      Обновить статистику по ресурсам
      Сегментыarrow
    • Добавить сегмент
      Обновить сегмент
      Получить информацию о сегменте
      Получить список сегментов
      Удалить сегмент
      Получить статистику по сегментам
      Обновить статистику по сегментам
      Добавить или удалить профиль
      Получить данные профилей статического или обновляемого сегмента
      Стоп-спискиarrow
    • Добавить стоп-список
      Переименовать стоп-список
      Получить информацию о стоп-списке
      Получить информацию о нескольких стоп-списков
      Удалить стоп-список
      Выгрузить данные из стоп-списка в файл
        Добавление и удаление из стоп-спискаarrow
      • Проверить email-адрес в стоп-списке
        Добавить email-адрес в стоп-список
        Добавить один или несколько email-адресов в стоп-список
        Удалить email-адрес из стоп-списка
        Удалить все email-адреса из стоп-списка
        Проверить домен в стоп-списке
        Добавить домен в стоп-список
        Добавить один или несколько доменов в стоп-список
        Удалить домен из стоп-списка
        Удалить все домены из стоп-списка
        Проверить номер телефона в стоп-списке
        Добавить номер телефона в стоп-список
        Добавить один или несколько номеров в стоп-список
        Удалить номер из стоп-списка
        Удалить все номера из стоп-списка
      Шаблоныarrow
    • Получить список шаблонов
      Получить информацию о шаблоне
      Удалить шаблон
      Добавить шаблон сообщения
      Обновить шаблон сообщения
      Channel object
      Рассылкиarrow
    • Получить список рассылок
      Получить информацию о рассылке
      Получить лог рассылки
      Клонировать рассылку
      Удалить рассылку
      Активировать рассылку
      Деактивировать рассылку
      Получить статус рассылки
        Броадкаст рассылкиarrow
      • Получить список броадкаст рассылок
        Получить информацию о броадкаст рассылке
        Добавить броадкаст рассылку
        Обновить броадкаст рассылку
        Запустить броадкаст рассылку
        Регулярные рассылкиarrow
      • Получить список регулярных рассылок
        Получить информацию о регулярной рассылке
        Добавить регулярную рассылку
        Обновить регулярную рассылку
        Запустить регулярную рассылку
        Триггерыarrow
      • Получить список триггерных рассылок
        Получить информацию о триггерной рассылке
        Добавить триггерную рассылку
        Обновить триггерную рассылку
        Запуск триггерной рассылки (API call)
        Импорт профиля + Отправка триггера
        Задание на массовую отправку триггера
        Задание на массовый импорт профилей + отправка триггера
        Массовая отправка триггера
        Массовый импорт профилей + отправка триггера
        Клонировать триггер рассылку
        Data array
      Кампанииarrow
    • Получить информацию о кампании
      Получить список кампаний
      Активация кампании
      Завершение кампании
      Деактивация кампании
      Получить статус кампании
      Сценарии (цепочки)arrow
    • Отправить профиль клиента в сценарий
      Одновременный импорт и запуск профиля в сценарий
      Массовый импорт и запуск профилей в сценарий
      Задание на массовый импорт и запуск профилей в сценарий
      Получить список сценариев
      Активировать сценарий
      Деактивировать сценарий
      Промокодыarrow
    • Импортировать промокоды
      Получить информацию о промокоде
      Активировать промокод
      Обновить промокод
      Привязать промокод к профилю
      Отвязать промокод от профиля
      Получить все промокоды
      Программы лояльностиarrow
    • Получить уровень профиля в программе лояльности
      Экспорт транзакций баллов
      Сгораемые баллы за период
      Получение транзакций по счёту профиля
      Получение списка триггерных промоакций
      Начисление баллов участнику
      Списание баллов участника
      Подтверждение временной транзакции
      Предварительный расчет заказа
      Подтверждение заказа
      Отмена временной транзакции
      Отмена балльной транзакции
      Получение баланса балльного счёта
      Регистрация участника в программе лояльности
      Удаление участника из программы лояльности
      Целиarrow
    • Регистрация события достижения цели
      Пуши приложенийarrow
    • Обработка и добавление подписки
      Добавить события с app push
      Маркетarrow
      • Объекты маркетаarrow
      • Структура заказа (order data object)
        Product data object
        Структура SKU (SKU data object)
        Категории (categories array)
        Custom fields array
        Заказыarrow
      • Импорт заказа и статусов позиций
        Получить список заказов
        Удалить заказ
        Получить статус заказа
        Изменение статуса позиции заказа
        Продукты и SKUarrow
      • Импорт продуктов, SKU и категорий
        Получение списка продуктов
        Получение списка SKU
        Импорт SKU и категорий
        Удалить продукты
        Удалить SKU
      Отчеты и статистикаarrow
    • Получить сводный отчет
      Получить отчет о возвратах
      Получить отчет о недоставках
      Сендерыarrow
    • Получить список сендеров
        Виртуальные сендерыarrow
      • Получить список виртуальных сендеров
        Получить информацию о виртуальном сендере
        Клонировать виртуальный сендер
        Добавить виртуальный сендер
        Обновить виртуальный сендер
        Удалить виртуальный сендер
      Объектыarrow
    • AKMTA object
      Content object
      Email rule object
      File object
      Profile data object
      SMS rule object
      Sender object
      Sender types
      Start schedule object
      Subscription object
      Trigger types
      Запросы к внешним базам данныхarrow
      • Запросы сегментацииarrow
      • Добавить запрос сегментации
        Обновить запрос сегментации
        Получить информацию о запросе сегментации
        Получить список запросов на сегментацию
        Удалить запрос сегментации
        Запросы для шаблоновarrow
      • Добавить запрос для шаблонов
        Обновить запрос для шаблонов
        Получить информацию о запросе для шаблонов
        Получить список запросов для шаблонов
        Удалить запрос для шаблонов
      Прочееarrow
    • Загрузить файл
      Получить веб-версию сообщения
      Push провайдеры
      Дедупликация запросов
      Работа с API через RabbitMQ
      Список гендерных идентификаций
      Получить допустимые значения полей browsers, devices, tz, oses, languages
    Список API-методов
    Импорт и настройка коллекции API-методов в Postman
      SDKarrow
      • mSDKarrow
        • Androidarrow
        • Быстрый старт
          Конфигурация SDK
          Функционал SDK
          Публичный API SDK
            Настройка провайдеровarrow
          • Firebase Cloud Messaging
            Huawei Mobile Services
            RuStore
          iOSarrow
        • Быстрый старт
          Конфигурация SDK
          Функционал SDK
          Публичный API SDK
            Настройка провайдеровarrow
          • Apple Push Notification Service
            Firebase Cloud Messaging
            Huawei Mobile Services
          React Native (Android/iOS)arrow
        • Быстрый старт
          Конфигурация SDK
          Функционал SDK
          Публичный API SDK
          Настройка провайдеров
        Работа с ролевым и JWT-токеном
  • Программы лояльности
  • Подтверждение заказа

Подтверждение заказа

Описание​

Метод preorder_commit выполняет финальное подтверждение заказа после успешного предварительного расчета через метод preorder. Метод создает заказ в системе, применяет все рассчитанные скидки, начисляет и списывает баллы, активирует промокоды.

URL-адрес​

Метод: POST

https://example.com/api/v1.1/market/orders/preorder_commit

Параметры запроса​

ПараметрТипПримерОбязательныйОписание
tokenstring"abcdefghijklmnqrstuvwxyz"ДаAPI-токен
external_idstring"order_12345"ДаВнешний идентификатор заказа в системе клиента
profile_idstring"696e304f547840a7286619e0"Да*Идентификатор профиля. Поле, используемое для матчинга
emailstring"user@example.com"Да*Email участника. Поле, используемое для матчинга
phonestring"+79991234567"Да*Телефон участника. Поле, используемое для матчинга
skip_triggersbooleanfalseНетОтключить выполнение триггеров при создании заказа. По умолчанию — false
dataobject
"data": {
"endpoint": "bot",
"status": "confirmed",
"currency": "RUB",
"total_price": "2500.00",
"final_total_price": "2150.00",
"delivery_cost": "300.00",
"lines": [...],
"promocodes": [...],
"redeem_points": [...],
"region": "region_moscow",
"custom_fields": ,
"tags": ["tag1", "tag2"]
}
ДаОбъект с данными заказа

* — для идентификации профиля необходимо передать один из параметров: profile_id, email или phone

Объект data​

ПараметрТипПримерОбязательныйОписание
endpointstring"bot", "website"ДаИсточник заказа (точка контакта). Должен быть настроен в Маркете
statusstring"new", "confirmed", "paid"ДаСтатус заказа. Используются статусы, настроенные в платформе
currencystring"RUB", "USD", "EUR"ДаВалюта заказа (трехбуквенный код ISO)
total_pricestring"2500.00"ДаОбщая стоимость заказа до применения скидок
final_total_pricestring"2150.00"ДаИтоговая стоимость заказа после применения всех скидок
delivery_coststring"300.00"НетСтоимость доставки
create_timestring (ISO 8601)"2026-02-18T13:01:05.141Z"НетДата и время создания заказа. Если не передано, используется текущее время сервера
regionstring"region_moscow"НетИдентификатор региона для применения региональных цен и акций
linesarrayСм. ниже раздел "Массив lines"ДаМассив позиций заказа. Должен содержать минимум 1 элемент
promocodesarrayСм. ниже раздел "Массив promocodes"НетМассив промокодов, примененных к заказу
requested_promotionsarrayСм. ниже раздел "Массив requested_promotions"НетПромоакции, примененные к данному заказу.

В это поле передается структура из поля applied_promotions ответа метода /preorder
redeem_pointsarrayСм. ниже раздел "Массив redeem_points"Да, если указано type="redeem_points" в requested_promotionsМассив списаний баллов по типам валют
custom_fieldsobject
{
"field1": "value1",
"field2": "value2"
}
НетДополнительные поля заказа
tagsarray
[
"summer_sale",
"first_order"
]
НетТеги для маркировки заказа

Массив lines​

Массив содержит информацию о позициях заказа. Должен содержать минимум 1 позицию.

Каждая позиция вынесена в отдельный объект внутри массива со следующими параметрами:

ПараметрТипПримерОбязательныйОписание
external_idstring"line_1"ДаВнешний идентификатор позиции в системе клиента
productstring"iphone17pmb256"Да*Идентификатор продукта
skustring"IPHONE17-256-BLACK"Да*Идентификатор SKU
line_numberinteger1НетПорядковый номер линии в заказе
countinteger1ДаКоличество единиц товара
base_price_per_itemstring"139999.00"ДаБазовая цена за единицу товара
min_price_per_itemstring"130000.00"НетМинимально допустимая цена за единицу товара
final_price_per_itemstring"139500.00"ДаФинальная цена за единицу после применения всех скидок
statusstring"new"НетСтатус позиции заказа
custom_fieldsobject{"color": "black", "size": "XL"}НетДополнительные поля позиции
requested_promotionsarrayСм. ниже раздел "Массив requested_promotions"НетПромоакции, примененные к данной позиции.

В это поле передается структура из поля applied_promotions ответа метода /preorder для соответствующей линии заказа.

* — обязателен один из параметров: product или sku

Массив promocodes​

Массив содержит объекты с информацией о промокодах.

Полное описание структуры промокода можно найти в этой статье.

ПараметрТипПримерОбязательныйОписание
codestring"SUMMER20"ДаКод промокода
pool_idinteger42ДаИдентификатор пула промокодов

Массив redeem_points​

Массив с инфомацией о списании баллов лояльности. Каждый объект описывает отдельное списание.

Полное описание структуры списания баллов можно найти в этой статье.

ПараметрТипПримерОбязательныйОписание
points_currency_iidinteger1Да*Внутренний идентификатор типа баллов
points_currency_eidstring"bonus1"Да*Внешний идентификатор типа баллов
namestring"Бонусные баллы"НетНазвание типа баллов
amountinteger499ДаКоличество баллов для списания

* — обязателен один из параметров: points_currency_iid или points_currency_eid

Массив requested_promotions​

подсказка

Массив requested_promotions может содержаться как в объекте data, так и в массиве lines внутри этого объекта. В первом случае в массиве будут переданы промоакции, применяемые к продуктам, во втором — акции, применяемые к заказу.

Массив применяемых к заказу промоакций. Каждый объект массива описывает отдельную промоакцию.

ПараметрТипПримерОбязательныйОписание
typestring"discount", "accrue_points", "redeem_points", "code_issue", "message"ДаТип промоакции
promotionobject
"promotion": {
"external_id": "promo_1",
"name": "Summer Sale"
}
ДаОбъект с идентификатором и названием промоакции
amountstring"150.00"Да, если type равен discount,accrue_points или redeem_pointsРазмер скидки или количество баллов
points_infoobject
"points_info": {
"points_currency_iid": 1,
"points_currency_eid": "bonus1",
"name": "Бонусные баллы",
"amount": "50"
}
Да, если type равен accrue_points или redeem_pointsОбъект с информацией о баллах

Структура объекта points_info выглядит следующим образом:

ПараметрТипПримерОбязательныйОписание
points_currency_iidinteger1Да*Внутренний идентификатор типа баллов
points_currency_eidstring"bonus1"Да*Внешний идентификатор типа баллов
namestring"Бонусные баллы"НетНазвание типа баллов
amountstring"6999"ДаКоличество баллов
expiration_datestring (ISO 8601)"2027-02-18T00:00:00.000Z"НетДата сгорания начисленных баллов

* — обязателен один из параметров: points_currency_iid или points_currency_eid

Пример запроса​

  • JSON
  • XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"external_id": "order_12345",
"profile_id": "696e304f547840a7286619e0",
"skip_triggers": false,
"data": {
"endpoint": "bot",
"status": "confirmed",
"currency": "RUB",
"total_price": "2500.00",
"final_total_price": "2150.00",
"delivery_cost": "300.00",
"create_time": "2026-02-18T13:01:05.141Z",
"region": "region_moscow",
"lines": [
{
"external_id": "line_1",
"product": "popit",
"base_price_per_item": "1500.00",
"final_price_per_item": "1350.00",
"count": 1,
"requested_promotions": [
{
"type": "discount",
"promotion": {
"external_id": "promo_1",
"name": "Summer Sale"
},
"amount": "150.00"
},
{
"type": "accrue_points",
"promotion": {
"external_id": "bonus_promo",
"name": "Начисление баллов"
},
"points_info": {
"points_currency_iid": 1,
"points_currency_eid": "bonus1",
"name": "Бонусные баллы",
"amount": "75"
}
}
]
},
{
"external_id": "line_2",
"sku": "skuf",
"base_price_per_item": "700.00",
"min_price_per_item": "650.00",
"final_price_per_item": "650.00",
"count": 2,
"requested_promotions": [
{
"type": "redeem_points",
"promotion": {
"external_id": "redeem_promo",
"name": "Списание баллов"
},
"points_info": {
"points_currency_iid": 1,
"points_currency_eid": "bonus1",
"name": "Бонусные баллы",
"amount": "50"
}
}
]
}
],
"promocodes": [
{
"code": "HYDO-4728-DZGU",
"pool_id": 42
}
],
"redeem_points": [
{
"points_currency_eid": "bonus1",
"amount": 100
}
],
"requested_promotions": [
{
"type": "code_issue",
"promotion": {
"external_id": "welcome_promo",
"name": "Welcome Gift"
}
}
],
"custom_fields": {
"source": "telegram_bot",
"campaign": "spring_sale"
},
"tags": ["premium", "first_order"]
}
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<external_id>order_12345</external_id>
<profile_id>696e304f547840a7286619e0</profile_id>
<skip_triggers>false</skip_triggers>
<data>
<endpoint>bot</endpoint>
<status>confirmed</status>
<currency>RUB</currency>
<total_price>2500.00</total_price>
<final_total_price>2150.00</final_total_price>
<delivery_cost>300.00</delivery_cost>
<create_time>2026-02-18T13:01:05.141Z</create_time>
<region>region_moscow</region>
<lines>
<external_id>line_1</external_id>
<product>popit</product>
<base_price_per_item>1500.00</base_price_per_item>
<final_price_per_item>1350.00</final_price_per_item>
<count>1</count>
<requested_promotions>
<type>discount</type>
<promotion>
<external_id>promo_1</external_id>
<name>Summer Sale</name>
</promotion>
<amount>150.00</amount>
</requested_promotions>
<requested_promotions>
<type>accrue_points</type>
<promotion>
<external_id>bonus_promo</external_id>
<name>Начисление баллов</name>
</promotion>
<points_info>
<points_currency_iid>1</points_currency_iid>
<points_currency_eid>bonus1</points_currency_eid>
<name>Бонусные баллы</name>
<amount>75</amount>
</points_info>
</requested_promotions>
</lines>
<lines>
<external_id>line_2</external_id>
<sku>skuf</sku>
<base_price_per_item>700.00</base_price_per_item>
<min_price_per_item>650.00</min_price_per_item>
<final_price_per_item>650.00</final_price_per_item>
<count>2</count>
<requested_promotions>
<type>redeem_points</type>
<promotion>
<external_id>redeem_promo</external_id>
<name>Списание баллов</name>
</promotion>
<points_info>
<points_currency_iid>1</points_currency_iid>
<points_currency_eid>bonus1</points_currency_eid>
<name>Бонусные баллы</name>
<amount>50</amount>
</points_info>
</requested_promotions>
</lines>
<promocodes>
<code>HYDO-4728-DZGU</code>
<pool_id>42</pool_id>
</promocodes>
<redeem_points>
<points_currency_eid>bonus1</points_currency_eid>
<amount>100</amount>
</redeem_points>
<requested_promotions>
<type>code_issue</type>
<promotion>
<external_id>welcome_promo</external_id>
<name>Welcome Gift</name>
</promotion>
</requested_promotions>
</data>
</xml>

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

  • JSON
  • XML
{
"data": {
"status": "success",
"processing_target": "immediate",
"external_id": "order_12345",
"issued_promocodes": [
{
"codes": ["HYDO-4728-DZGU"],
"pool": {
"pool_id": 100,
"name": "Welcome Promocodes"
},
"promotion": {
"external_id": "welcome_promo",
"name": "Welcome Gift"
}
}
],
"points_changes": [
{
"points_info": {
"points_currency_iid": 1,
"points_currency_eid": "bonus1",
"name": "Бонусные баллы",
"amount": "21500"
},
"accrue_points": 75,
"redeem_points": 150
}
],
"contents": [
{
"promotion": {
"external_id": "message_promo",
"name": "Информационное сообщение"
},
"contents": [
{
"type": "text",
"message": "Спасибо за покупку! Вы получили 75 бонусов."
}
]
}
]
},
"error": 0,
"error_text": "Successful operation"
}
<xml>
<data>
<status>success</status>
<processing_target>immediate</processing_target>
<external_id>order_12345</external_id>
<issued_promocodes>
<codes>HYDO-4728-DZGU</codes>
<pool>
<pool_id>100</pool_id>
<name>Welcome Promocodes</name>
</pool>
<promotion>
<external_id>welcome_promo</external_id>
<name>Welcome Gift</name>
</promotion>
</issued_promocodes>
<points_changes>
<points_info>
<points_currency_iid>1</points_currency_iid>
<points_currency_eid>bonus1</points_currency_eid>
<name>Бонусные баллы</name>
<amount>21500</amount>
</points_info>
<accrue_points>75</accrue_points>
<redeem_points>150</redeem_points>
</points_changes>
<contents>
<promotion>
<external_id>message_promo</external_id>
<name>Информационное сообщение</name>
</promotion>
<contents>
<type>text</type>
<message>Спасибо за покупку! Вы получили 75 бонусов.</message>
</contents>
</contents>
</data>
<error>0</error>
<error_text>Successful operation</error_text>
</xml>

Возвращаемые параметры​

ПараметрТипОписание
dataobjectДанные результата подтверждения
errorintКод ошибки (0 при успехе)
error_textstringТекст ошибки

Параметры, возвращаемые в объекте data:

ПараметрТипОписание
statusstringСтатус обработки:
• success — заказ успешно создан
• outdated — цена изменилась с момента предварительного расчета (нужно повторить /preorder)
processing_targetstringТолько для статуса success. Значение: immediate или processed
external_idstringВнешний идентификатор заказа (из запроса)
issued_promocodesarrayМассив выданных промокодов (для акций типа code_issue)
points_changesarrayМассив изменений баланса баллов по типам валют
contentsarrayМассив контента для отображения (текстовые сообщения из промоакций)

Массив issued_promocodes состоит из объектов с информацией о примененных промокодах:

ПараметрТипОписание
codesarrayМассив выданных кодов промокодов
poolobjectИнформация о пуле промокодов
pool.pool_idintegerИдентификатор пула
pool.namestringНазвание пула
promotionobjectОбъект с информацией о промоакции
promotion.external_idstringВнешний идентификатор промоакции
promotion.namestringНазвание промоакции

Массив points_changes состоит из объектов с информацией об изменении баланса баллов:

ПараметрТипОписание
points_infoobjectОбъект с информацией о типе баллов
points_info.points_currency_iidintegerВнутренний идентификатор типа баллов
points_info.points_currency_eidstringВнешний идентификатор типа баллов
points_info.namestringНазвание типа баллов
points_info.amountstringТекущий баланс после операции
accrue_pointsintegerКоличество начисленных баллов
redeem_pointsintegerКоличество списанных баллов
Последнее обновление 1 апр. 2026 г.
Предыдущая страница
Предварительный расчет заказа
Следующая страница
Отмена временной транзакции
  • Описание
  • URL-адрес
  • Параметры запроса
    • Объект data
      • Массив lines
      • Массив promocodes
      • Массив redeem_points
      • Массив requested_promotions
  • Пример запроса
  • Пример ответа
  • Возвращаемые параметры
© 2015 - 2026 Altcraft. Все права защищены.