Инструкция для администратора и разработчика внешнего сервиса. Это последовательная диагностика, а не обещание единственной причины по сообщению об ошибке. Рабочие доступы, платежи и кассовые документы не меняйте ради проверки. Сначала сохраните обезличенный пример и уточните используемую версию интеграции.
Как проявляется проблема
- Приложение показывает Internal Server Error.
- Одни операции проходят, другие стабильно дают 500.
Что проверить сначала
- Ошибка возникла в промежуточном сервисе.
- Особая комбинация данных выявила ошибку обработки.
- Внешний сервис временно не выполняет выбранную операцию.
Быстрая диагностика
| Что наблюдаем | Что проверить | Как понять результат |
|---|---|---|
| На экране500 | Найти внешний ответ отдельно от исключения backend. | Если API не вызван, исследовать сервер приложения. |
| Чтение работает, команда нет | Сравнить модели и результат первой команды. | Не повторять изменение до установления результата. |
| Ошибка воспроизводится | Собрать минимальный обезличенный пример. | Передать поставщику с временем и correlationId. |
Три точки наблюдения
Полная формулировка из статьи
Найти внешний ответ отдельно от исключения backend. Сравнить модели и результат первой команды. Собрать минимальный обезличенный пример.

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

Редакционная визуализация фрагмента OpenAPI, не скриншот интерфейса iikoCloud API — официальный справочник OpenAPI. Нажмите на изображение, чтобы открыть отдельно. Сверяйте источник с версией и настройками своей системы.

Редакционная визуализация фрагмента OpenAPI, не скриншот интерфейса iikoCloud API — официальный справочник OpenAPI. Нажмите на изображение, чтобы открыть отдельно. Сверяйте источник с версией и настройками своей системы.

Редакционная визуализация фрагмента OpenAPI, не скриншот интерфейса iikoCloud API — официальный справочник OpenAPI. Нажмите на изображение, чтобы открыть отдельно. Сверяйте источник с версией и настройками своей системы.
Пошаговое решение
Отмечайте выполненные проверки. Отметки действуют до перезагрузки страницы.

Иллюстрация рабочего процесса; сгенерированное фото, не интерфейс iiko. 
Иллюстрация рабочего процесса; сгенерированное фото, не интерфейс iiko.
Развилка результата
Полная формулировка из статьи
Критерий результата: Исходный сценарий завершается ожидаемым результатом, а источник прежнего 500 установлен по журналам либо подтверждён поставщиком. Неопределённые команды сверены отдельно. Возвращение зелёного индикатора без проверки выполненных операций не считается достаточным доказательством. Передача специалисту: Передайте поставщику один воспроизводимый пример: время с часовым поясом, используемый метод, версии компонентов и обезличенные запрос с ответом. Добавьте результат каждого шага и ожидаемое поведение. Не передавайте секреты в обычном журнале; укажите correlationId, если он получен.
Как понять, что проблема решена
Исходный сценарий завершается ожидаемым результатом, а источник прежнего 500 установлен по журналам либо подтверждён поставщиком. Неопределённые команды сверены отдельно. Возвращение зелёного индикатора без проверки выполненных операций не считается достаточным доказательством.
Как снизить риск повторения
Логируйте внешний HTTP-статус отдельно от внутреннего статуса backend. Храните обезличенные диагностические примеры и ограничивайте автоматические повторы команд. Изменения конфигурации сопровождайте временем и версией, чтобы можно было сопоставить их с первым сбоем.
Если проблема осталась
Передайте поставщику один воспроизводимый пример: время с часовым поясом, используемый метод, версии компонентов и обезличенные запрос с ответом. Добавьте результат каждого шага и ожидаемое поведение. Не передавайте секреты в обычном журнале; укажите correlationId, если он получен.
Что передать в поддержку
Скопируйте шаблон и заполните его без паролей, API-ключей, данных карт и сведений о гостях.
Проблема: iiko API возвращает 500: как отделить сбой от неверного запроса Версия и компонент iiko: Ресторан / рабочее место: Время сбоя и часовой пояс: Точный текст сообщения: Что ожидалось / что произошло: Какие проверки выполнены: Результат каждой проверки: Идентификатор операции (если допустимо):
Где помогает Menu 360
Menu 360 интегрируется с iiko; автоматические допродажи должны сохраняться вместе с основным заказом и при восстановлении после сбоя. Цены задаются в самом Menu 360. После ремонта проверьте одну корзину с дополнением и её единственный принятый экземпляр, прежде чем возобновлять накопленные отправки.
Вопросы и ответы
500 всегда означает аварию всей iiko?
Нет. Выясните, кто сформировал ответ и какой метод затронут. Ошибка одной комбинации данных или собственного backend не доказывает недоступность платформы для всех ресторанов.
Можно автоматически повторять каждую операцию после 500?
Для чтения нужна ограниченная политика повторов, а для команды — ещё проверка результата первой попытки. Сервер мог выполнить действие до ошибки ответа. Особенно важно не повторить заказ, платёж или изменение документа вслепую.
Источники и применимость
Официальная документация служит основой проверки возможностей iiko. Последовательность диагностики и контрольные примеры разработаны редакцией Menu 360; это не подтверждение ошибки именно в вашей конфигурации.
Обсуждения похожих ситуаций
Вопросы пользователей подтверждают наличие похожих ситуаций. Советы в обсуждениях могут относиться к старым версиям или другому модулю.
- Обсуждение: iiko API возвращает 500: как отделить сбой от неверного запроса
Первичное описание 500 с сообщением о null и последующее замечание автора о структуре массива; не доказательство массового сбоя Cloud API.