.. _Integration_IntegrationApi_AsyncActions: Асинхронные действия #################### Часть действий в Integration API являются асинхронными. Это означает, что запрос на выполнение действия ставит задачу для интеграционного модуля Продукта и возвращает идентификатор задачи. Интеграционный модуль через некоторое время обрабатывает задачу и выдает результат обработки. Таким образом, для выполнения асинхронного действия нужно: * поставить задачу; * дождаться завершения ее обработки; * запросить результаты обработки. Чтобы дождаться завершения обработки задачи, внешняя система может периодически запрашивать статус обработки по идентификатору поставленной задачи. В ответ на запрос возвращается JSON, который содержит статус задачи и, опционально, сообщение об ошибке: .. code-block:: JSON { "TaskStatus": 0, // статус обработки задачи "TaskHandlingErrorMessage": "string" // сообщение об ошибке, если задача обработана с ошибкой } Возможные значения статуса обработки: * ``0`` - задача запланирована к обработке; * ``1`` - задача успешно обработана; * ``2`` - задача обработана с ошибкой; * ``3`` - черновик задачи запланирован к обработке; * ``4`` - обработка задачи поставлена на паузу; * ``5`` - обработка задачи отменена. Сразу после постановки задача может оказаться в статусах ``0`` или ``3``. Любое другое значение статуса внешняя система должна воспринимать как завершение обработки задачи и прекращать ожидание. Поле ``TaskHandlingErrorMessage`` заполняется только в случае, если задача была обработана с ошибкой. Поле ``TaskStatus`` при этом равно ``2``. .. note:: URL запросов, возвращающих статусы задач, зависят от выполняемого действия. JSON, который содержит статус задачи, может дополняться результатами обработки задачи. Особенности запроса статуса и результатов обработки задач описаны в разделах с конкретными действиями.