Пропустить контент
Купить

Экспорт заказа в iiko

Когда клиент оформляет и оплачивает заказ на сайте, Woo2iiko отправляет его в iiko. Это полный цикл: предзапрос → отправка → синхронизация статуса.

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

Экспорт срабатывает на события WooCommerce:

СобытиеКогдаЧто происходит
woocommerce_checkout_create_orderСоздание заказа (checkout)Формируется предзапрос (pre-request) с данными.
woocommerce_order_payment_status_changedСмена статуса оплатыОтправка заказа в iiko.
woocommerce_payment_completeОнлайн-оплата завершенаОтправка заказа в iiko.

Экспорт включён по умолчанию

Экспорт можно отключить настройкой iiko_disable_export = yes (в режимах доставки). Если выключено — заказы не уходят в iiko.

Что передаётся в iiko

В заказе iiko передаются:

  • Состав заказа — товары с модификаторами, количеством, ценой.
  • Адрес доставки — с нормализацией (дом, корпус, строение, подъезд, этаж, квартира) и координатами.
  • Клиент — телефон, имя, email, день рождения, категория.
  • Тип доставки — курьер (isSelfService = false) или самовывоз (isSelfService = true).
  • Время доставки — слот (when).
  • Оплата — тип и сумма (нал/безнал), флаг внешней фискализации.
  • Бонусы — сумма списания (если применены).
  • Скидки/купоны — привязка к iiko-скидкам по iiko_id.
  • Комментарий и количество персон.
  • Терминал — точка продаж.

Meta заказа

В заказе WooCommerce сохраняются meta для аудита и отслеживания:

MetaСодержимое
iiko_pre_requestДанные предзапроса.
iiko_order_requestОтправленный запрос в iiko.
iiko_order_respondОтвет iiko (JSON).
iiko_idUUID заказа в iiko.
order_numНомер заказа в iiko.
no_sent_iikoФлаг «не отправлен в iiko».

Статусы после экспорта

После получения ответа iiko статус WC-заказа синхронизируется:

Ответ iikoСтатус WC
closed / successcompleted
cancelledcancelled
errorfailed

В заказ добавляется note: «Заказ отправлен в iiko» (или сообщение об ошибке).

Управление сменой статуса

Настройка dont_change_wc_order_status (модуль OrderTracking) блокирует автоматическую смену статуса WC заказа — если вы хотите управлять статусами вручную.

Ручной экспорт

В карточке заказа WC (метабокс iiko_order_info) доступны действия:

  • Send order to iiko — отправить заказ в iiko вручную.
  • Send as new — отправить как новый заказ.
  • Update order info from iiko — обновить данные из iiko.

Эти же действия доступны как bulk actions в списке заказов.

Метабокс iiko заказа

Обработка ошибок

Настройка salience_mod определяет поведение при ошибке экспорта:

ЗначениеПоведение
no (по умолчанию)При ошибке — wp_die() с текстом для клиента (send_error_text).
другое значениеТихий режим — заказ создаётся, ошибка логируется, note добавляется.

Текст ошибки клиенту: send_error_text (настраивается).

Хук ошибки

При ошибке экспорта эмитится фильтр iiko_error_response (array, string, WC_Order) — можно кастомизировать ответ.

Интеграции с другими модулями

Экспорт запускает действия, на которые подписаны другие модули:

ДействиеКто использует
iiko_before_order_exportReserveTables (подготовка заказа стола).
iiko_success_order_exportLoonaBonuses (списание бонусов), Bonuses.
iiko_after_order_exportTelegramNotifications (уведомление).

Нормализация адреса

Перед отправкой адрес нормализуется модулем AddressNormalization:

  • Разбор строки «19к3стр2» → house=19, housing=3, building=2.
  • Сериализация в формат legacy или city (зависит от iiko_address_format_type).

При наличии ключей DaData (dadata_key, dadata_skey) адрес дополнительно нормализуется через DaData.

См. также

WOO2IIKO © 2019 - 2026 Алексей Тихомиров.