Appearance
Формат ответов API v1
Успешный ответ
Все поддерживаемые legacy-маршруты используют общую обертку:
json
{
"status": true,
"data": {},
"error": {},
"message": ""
}| Поле | Тип | Описание |
|---|---|---|
status | boolean | true при успешной обработке |
data | object или array | Данные конкретного маршрута |
error | object | Пустой объект при успехе |
message | string | Дополнительное legacy-сообщение |
Некоторые успешные сценарии отсутствия данных возвращают status=true. Так, неизвестный товар возвращается как data: [] с текстом в message.
Ответ с ошибкой
json
{
"status": false,
"data": {},
"error": {
"name": "Request Params Validation Error",
"code": 1001,
"text": "Ошибка в параметре id"
},
"message": ""
}У ошибки используются поля name, code и text. Поля error.message в wire-контракте v1 нет.
HTTP-коды
Большинство ошибок авторизации, валидации и выполнения возвращаются с HTTP 200. Поэтому проверка только HTTP-кода недостаточна:
js
const response = await fetch(url, options);
const body = await response.json();
if (!body.status) {
throw new Error(`${body.error.name}: ${body.error.text}`);
}Разбор параметров
idи элементыid_listобрабатываются через legacyparseInt;- значения вида
123abcинтерпретируются как123; - списки передаются через запятую;
stock_listобрезает пробелы вокруг элементов;include_documentationвключается значениямиtrue,TRUEили1.
Это поведение сохранено только ради совместимости. Не следует использовать частично числовые идентификаторы в новых интеграциях.