Документация гласит, что я могу обновить (patch) живое изображение, отправив PATCH-запрос на /v1/liveviews/id. Если я получаю живое изображение и его ID через /v1/liveviews[
], и когда я смотрю в API, там написано отправлять PATCH на /v1/liveviews/id, поэтому я отправляю PATCH на /v1/liveviews/615b42b7011c9003e7000492 с телом {
"modelKey": "liveview",
"name": "string",
"isDefault": true,
"isGlobal": true,
"owner": "68119bcf00c4e903e40e434d",
"layout": 4,
"slots": [
{
"cameras": [
"66d025b301ebc903e80003ea"
],
"cycleMode": "motion",
"cycleInterval": 0
}
]
}
В ответ я получаю HTTP 400 с телом {
"error": "Failed to parse 'request-body'",
"name": "ZOD_PARSE_ERROR",
"entity": "request-body",
"issues": [
{
"code": "unrecognized_keys",
"keys": [
"modelKey",
"isDefault",
"owner"
],
"path": [],
"message": "Unrecognized key(s) in object: 'modelKey', 'isDefault', 'owner'"
}
],
"isUserError": true
}
Документация гласит, что modelKey, isDefault и owner — обязательные. Если я уберу эти свойства и отправлю PATCH, я получу 403.{
"error": "Unauthorized request",
"name": "UNAUTHORIZED",
"requiredAccess": "write"
}
Поэтому я не понимаю, что делаю не так. Если скопировать образец запроса (я знаю, что layout и cameras не существуют), то я получаю тот же HTTP 400. Кроме того, если использовать Curl в командной строке:
curl -k -X PATCH "https://DEVICEIP/proxy/network/integration/v1/liveviews/615b42b701 1c9003e7000492" -H "X-API-KEY: APIKEY" -H "Accept: application/json" -H "Content-Type: application/json" -d "{\"modelKey\":\"liveview\",\"name\":\"string\",\"isDefault\":true,\"isGlobal\":true,\"owner\":\"68119bcf00c4e903e40e434d\",\"layout\":4,\"slots\":[{\"cameras\":[\"66d025b301ebc903e80003ea\"],\"cycleMode\":\"motion\",\"cycleInterval\":0}]}"
то я получаю:
{"statusCode":404,"statusName":"NOT_FOUND","message":"No endpoint PATCH /integration/v1/liveviews/615b42b7011c9003e7000492.","timestamp":"2025-05-20T21:31:28.619062485Z","requestPath":"/integration/v1/liveviews/615b42b7011c9003e7000492"}
], и когда я смотрю в API, там написано отправлять PATCH на /v1/liveviews/id, поэтому я отправляю PATCH на /v1/liveviews/615b42b7011c9003e7000492 с телом {
"modelKey": "liveview",
"name": "string",
"isDefault": true,
"isGlobal": true,
"owner": "68119bcf00c4e903e40e434d",
"layout": 4,
"slots": [
{
"cameras": [
"66d025b301ebc903e80003ea"
],
"cycleMode": "motion",
"cycleInterval": 0
}
]
}
В ответ я получаю HTTP 400 с телом {
"error": "Failed to parse 'request-body'",
"name": "ZOD_PARSE_ERROR",
"entity": "request-body",
"issues": [
{
"code": "unrecognized_keys",
"keys": [
"modelKey",
"isDefault",
"owner"
],
"path": [],
"message": "Unrecognized key(s) in object: 'modelKey', 'isDefault', 'owner'"
}
],
"isUserError": true
}
Документация гласит, что modelKey, isDefault и owner — обязательные. Если я уберу эти свойства и отправлю PATCH, я получу 403.{
"error": "Unauthorized request",
"name": "UNAUTHORIZED",
"requiredAccess": "write"
}
Поэтому я не понимаю, что делаю не так. Если скопировать образец запроса (я знаю, что layout и cameras не существуют), то я получаю тот же HTTP 400. Кроме того, если использовать Curl в командной строке:
curl -k -X PATCH "https://DEVICEIP/proxy/network/integration/v1/liveviews/615b42b701
то я получаю:
{"statusCode":404,"statusName":"NOT_FOUND","message":"No endpoint PATCH /integration/v1/liveviews/615b42b7011c9003e7000492.","timestamp":"2025-05-20T21:31:28.619062485Z","requestPath":"/integration/v1/liveviews/615b42b7011c9003e7000492"}
