MENU 360
Интеграции и API · ПОШАГОВАЯ ИНСТРУКЦИЯ

iiko API возвращает 500: как отделить сбой от неверного запроса

Чтение: 4 мин.Редакция: 21 октября 2026

Ответ 500 нельзя надёжно исправить одним советом «подождите» или «переустановите кассу». Он сообщает об ошибке обработки, но не доказывает, что запрос безупречен. Нужно отделить ответ iiko от ошибки собственного сервера и сохранить данные, которые позволят воспроизвести случай.

Область применимости

Инструкция для администратора и разработчика внешнего сервиса. Это последовательная диагностика, а не обещание единственной причины по сообщению об ошибке. Рабочие доступы, платежи и кассовые документы не меняйте ради проверки. Сначала сохраните обезличенный пример и уточните используемую версию интеграции.

Как проявляется проблема

  • Приложение показывает Internal Server Error.
  • Одни операции проходят, другие стабильно дают 500.

Что проверить сначала

  • Ошибка возникла в промежуточном сервисе.
  • Особая комбинация данных выявила ошибку обработки.
  • Внешний сервис временно не выполняет выбранную операцию.

Быстрая диагностика

Сравните свой симптом с проверкой и возможным результатом.
Что наблюдаемЧто проверитьКак понять результат
На экране500Найти внешний ответ отдельно от исключения backend.Если API не вызван, исследовать сервер приложения.
Чтение работает, команда нетСравнить модели и результат первой команды.Не повторять изменение до установления результата.
Ошибка воспроизводитсяСобрать минимальный обезличенный пример.Передать поставщику с временем и correlationId.
Графическая проверка

Три точки наблюдения

Три точки наблюденияТри проверки из текста. Это диагностические наблюдения, не вымышленные элементы интерфейса. Найти внешний ответ отдельно от исключения backend. Сравнить модели и результат первой команды. Собрать минимальный обезличенный пример.1Найти внешнийответ отдельно отисключенияbackend2Сравнить модели ирезультат первойкоманды3Собратьминимальныйобезличенныйпример
Лупы обозначают предметы и данные для проверки. Подписи кратко передают содержание диагностики; полные формулировки и ограничения приведены в статье.
Полная формулировка из статьи

Найти внешний ответ отдельно от исключения backend. Сравнить модели и результат первой команды. Собрать минимальный обезличенный пример.

Менеджер и официант обсуждают работу ресторана с планшетом
Иллюстрация рабочего процесса; сгенерированное фото, не интерфейс iiko.

Маршрут диагностики

Графическая проверка

Маршрут проверок

Маршрут проверокПоследовательность выбранных проверок из статьи. Это маршрут диагностики, а не гарантия исправления. iiko API возвращает 500: как отделить сбой от неверного запроса1Зафиксируйте ответAPI 5002Проверьте источникстатуса в цепочкезапросов4Сверьте модели ирезультат первойкоманды6Подтвердитеустановленныйисточник ошибки 500
На схеме — ключевые проверки. Выполняйте полную последовательность ниже: номера ведут к соответствующим шагам с условиями и ограничениями.
Полная формулировка из статьи

Шаг 1. Определите источник статуса по цепочке браузер — сервер приложения — API. Сохраните исходный ответ внешнего сервиса отдельно от ошибки своего backend. Если сервер сайта преобразует любой сбой в 500, это ещё не доказательство ответа iiko. Отметьте, на каком участке началась ошибка и какой URL вызван. Шаг 2. Запишите временную шкалу нескольких событий: последнее успешное обращение, первая ошибка и изменения конфигурации. Не делайте вывод о массовой аварии по одной неудаче. Если доступно штатное уведомление поставщика, сопоставьте период; отсутствие уведомления также не исключает локальную проблему вашего сценария. Шаг 4. Выполните согласованное безопасное чтение из той же среды приложения, если оно не меняет ресторанные данные. Если чтение проходит, а определённая команда нет, сохраните различие. Не отправляйте рабочую команду многократно ради измерения: её первая попытка могла изменить состояние до потери ответа. Шаг 6. Подготовьте воспроизводимый обезличенный пример для поставщика: минимальный набор, версия, точное время и correlationId. После исправления проверьте исходную комбинацию данных и обычный сценарий. Если проблема была временной, убедитесь, что накопленная очередь корректно завершена, а не просто исчезла из интерфейса.

Скриншоты и фрагменты документации

Фрагмент OpenAPI для POST /api/1/order/create: метод.
Визуализация фрагмента OpenAPI · OpenAPI 3.0.1; info.version не задана
Редакционная визуализация фрагмента OpenAPI, не скриншот интерфейса iikoCloud API — официальный справочник OpenAPI. Нажмите на изображение, чтобы открыть отдельно. Сверяйте источник с версией и настройками своей системы.
Фрагмент OpenAPI для POST /api/1/order/create: параметры.
Визуализация фрагмента OpenAPI · OpenAPI 3.0.1; info.version не задана
Редакционная визуализация фрагмента OpenAPI, не скриншот интерфейса iikoCloud API — официальный справочник OpenAPI. Нажмите на изображение, чтобы открыть отдельно. Сверяйте источник с версией и настройками своей системы.
Фрагмент OpenAPI для POST /api/1/order/create: ответ.
Визуализация фрагмента OpenAPI · OpenAPI 3.0.1; info.version не задана
Редакционная визуализация фрагмента OpenAPI, не скриншот интерфейса iikoCloud API — официальный справочник OpenAPI. Нажмите на изображение, чтобы открыть отдельно. Сверяйте источник с версией и настройками своей системы.

Пошаговое решение

Отмечайте выполненные проверки. Отметки действуют до перезагрузки страницы.

  1. Менеджер проверяет рабочее подключение в ресторане
    Иллюстрация рабочего процесса; сгенерированное фото, не интерфейс iiko.
  2. Специалист проверяет кабель роутера
    Иллюстрация рабочего процесса; сгенерированное фото, не интерфейс iiko.
Графическая проверка

Развилка результата

Развилка результатаСопоставьте результат с критерием статьи. Да — критерий подтвержден; нет — передайте диагностические данные специалисту. Критерий: Исходный сценарий завершается ожидаемым результатом, а источник прежнего 500 установлен по журналам либо подтверждён поставщиком. Неопределённые команды сверены отдельно. Возвращение зелёного индикатора без проверки выполненных операций не считается достаточным доказательством. Поддержка: Передайте поставщику один воспроизводимый пример: время с часовым поясом, используемый метод, версии компонентов и обезличенные запрос с ответом. Добавьте результат каждого шага и ожидаемое поведение. Не передавайте секреты в обычном журнале; укажите correlationId, если он получен.Критерийвыполнен?ДаНетустановленныйисточникошибки 500Передайтевремя, версияиcorrelationId
Ромб — самопроверка по критерию из статьи. Ветка «нет» ведет к подготовке обращения, а не к обещанному исправлению.
Полная формулировка из статьи

Критерий результата: Исходный сценарий завершается ожидаемым результатом, а источник прежнего 500 установлен по журналам либо подтверждён поставщиком. Неопределённые команды сверены отдельно. Возвращение зелёного индикатора без проверки выполненных операций не считается достаточным доказательством. Передача специалисту: Передайте поставщику один воспроизводимый пример: время с часовым поясом, используемый метод, версии компонентов и обезличенные запрос с ответом. Добавьте результат каждого шага и ожидаемое поведение. Не передавайте секреты в обычном журнале; укажите correlationId, если он получен.

Как понять, что проблема решена

Исходный сценарий завершается ожидаемым результатом, а источник прежнего 500 установлен по журналам либо подтверждён поставщиком. Неопределённые команды сверены отдельно. Возвращение зелёного индикатора без проверки выполненных операций не считается достаточным доказательством.

Как снизить риск повторения

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

Если проблема осталась

Передайте поставщику один воспроизводимый пример: время с часовым поясом, используемый метод, версии компонентов и обезличенные запрос с ответом. Добавьте результат каждого шага и ожидаемое поведение. Не передавайте секреты в обычном журнале; укажите correlationId, если он получен.

Что передать в поддержку

Скопируйте шаблон и заполните его без паролей, API-ключей, данных карт и сведений о гостях.

Проблема: iiko API возвращает 500: как отделить сбой от неверного запроса
Версия и компонент iiko:
Ресторан / рабочее место:
Время сбоя и часовой пояс:
Точный текст сообщения:
Что ожидалось / что произошло:
Какие проверки выполнены:
Результат каждой проверки:
Идентификатор операции (если допустимо):

Где помогает Menu 360

Menu 360 интегрируется с iiko; автоматические допродажи должны сохраняться вместе с основным заказом и при восстановлении после сбоя. Цены задаются в самом Menu 360. После ремонта проверьте одну корзину с дополнением и её единственный принятый экземпляр, прежде чем возобновлять накопленные отправки.

Интеграция Menu 360 с iiko · Автоматические допродажи

Вопросы и ответы

500 всегда означает аварию всей iiko?

Нет. Выясните, кто сформировал ответ и какой метод затронут. Ошибка одной комбинации данных или собственного backend не доказывает недоступность платформы для всех ресторанов.

Можно автоматически повторять каждую операцию после 500?

Для чтения нужна ограниченная политика повторов, а для команды — ещё проверка результата первой попытки. Сервер мог выполнить действие до ошибки ответа. Особенно важно не повторить заказ, платёж или изменение документа вслепую.

Источники и применимость

Официальная документация служит основой проверки возможностей iiko. Последовательность диагностики и контрольные примеры разработаны редакцией Menu 360; это не подтверждение ошибки именно в вашей конфигурации.

Обсуждения похожих ситуаций

Вопросы пользователей подтверждают наличие похожих ситуаций. Советы в обсуждениях могут относиться к старым версиям или другому модулю.

Связанные инструкции