<
From version < 190.1 >
edited by Андрей Калиновский
on 2024/11/22 14:55
To version < 197.1 >
edited by Андрей Калиновский
on 2024/12/20 14:57
>
Change comment: There is no comment for this version

Summary

Details

Icon Page properties
Content
... ... @@ -2,6 +2,10 @@
2 2  (((
3 3  (% class="box warningmessage" %)
4 4  (((
5 +
6 +
7 +
8 +
5 5  (% class="mark" %)##Для обеспечения бесперебойной работы команд и серверного оборудования ГЛОНАССSoft убедительно
6 6  просим вас соблюдать несколько простых правил при использовании API-команд:##
7 7  )))
... ... @@ -9,7 +9,7 @@
9 9  * Формировать не более 3 отчётов одновременно.
10 10  * Ограничить количество активных сессий одного пользователя с одного IP-адреса до 50.
11 11  
12 -В случае нарушения этих правил, ГЛОНАССSoft оставляет за собой право принудительно остановить работу команд.
16 +В случае нарушения этих правил, ГЛОНАССSoft оставляет за собой право принудительно остановить выполнение запросов с определенных IP адресов.
13 13  
14 14  
15 15  **Содержание страницы:**
... ... @@ -1194,13 +1194,15 @@
1194 1194  Команда для отправки на тс.
1195 1195  
1196 1196  {  
1197 -"id": "", ~/~/идентификатор произвольного поля
1198 -"command": "", ~/~/ Текст команды
1199 -"retries": "", ~/~/ Количество попыток
1200 -"idTemplate": "" ~/~/ ID шаблона команды
1201 +"id": "", ~/~/идентификатор объекта (он же идентификатор ТС: vehicleId)
1202 +"command": "", ~/~/ Текст отправляемой команды
1203 +"retries": "", ~/~/ Количество попыток отправки на терминал
1204 +"idTemplate": "" ~/~/ ID шаблона команды (при использовании ранее созданных шаблонов). 
1201 1201  }
1202 1202  
1207 +В ответ получаем cmdid
1203 1203  
1209 +
1204 1204  == **Получить ответ на отправленную на ТС команду** ==
1205 1205  
1206 1206  (% class="box infomessage" %)
... ... @@ -1208,13 +1208,13 @@
1208 1208  (% lang="en-US" %)**GET **(%%)**/api/v3/Vehicles/cmd/{cmdId}/answer**
1209 1209  )))
1210 1210  
1211 -Идентификатор команды: cmdid
1217 +Идентификатор команды: cmdId
1212 1212  
1213 1213  Запрос от терминала на ответ команды
1214 1214  
1215 1215  Пример ответ от терминала:
1216 1216  
1217 -ID= "" ~/~/ идентификатор произвольного поля
1223 +ID= "" ~/~/ идентификатор объекта
1218 1218  Soft="" ~/~/ версия софта
1219 1219  GPS=4 ~/~/ тип трекера
1220 1220  Time=11:05:43 28.06.24 ~/~/ время запроса
... ... @@ -4392,31 +4392,31 @@
4392 4392  Параметры в теле запроса (JSON):
4393 4393  
4394 4394  {
4395 - "startDate": "2024-04-11T10:32:02.395Z", ~/~/Начало периода
4396 - "endDate": "2024-04-11T10:32:02.395Z", ~/~/Конец периода
4401 + "startDate": "2024-04-11T10:32:02.395Z", ~/~/ Начало периода
4402 + "endDate": "2024-04-11T10:32:02.395Z", ~/~/ Конец периода
4397 4397   "ids": [ 
4398 - "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/гуиды топливных карт
4404 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификаторы топливных карт
4399 4399   ],
4400 - "timezone": 0 ~/~/Таймзона
4406 + "timezone": 0 ~/~/ Часовой пояс
4401 4401  }
4402 4402  
4403 4403  
4404 4404  Ответ:
4405 4405   {
4406 - "date": "2024-04-11T10:41:02.265Z", ~/~/Дата и время транзакции
4407 - "driver": "string", ~/~/Водители, привязанные к ТК
4408 - "object": "string", ~/~/Наименование ТС
4409 - "amount": 0, ~/~/Количество топлива
4410 - "amountDut": 0, ~/~/Количество по ДУТ
4411 - "amountDiff": 0, ~/~/Разница, л
4412 - "amountDiffPerc": 0, ~/~/Разница, %
4413 - "summa": 0, ~/~/Стоимость, руб
4414 - "serviceName": "string", ~/~/Тип топлива
4415 - "price": 0, ~/~/Цена за литр, руб
4416 - "cardName": "string", ~/~/Наименование ТК
4417 - "cardNum": "string", ~/~/Номер ТК
4418 - "operator": "string", ~/~/Оператор ТК
4419 - "address": "string" ~/~/Адрес АЗС
4412 + "date": "2024-04-11T10:41:02.265Z", ~/~/ Дата и время транзакции
4413 + "driver": "string", ~/~/ Водители, привязанные к ТК
4414 + "object": "string", ~/~/ Наименование ТС
4415 + "amount": 0, ~/~/ Количество топлива
4416 + "amountDut": 0, ~/~/ Количество по ДУТ
4417 + "amountDiff": 0, ~/~/ Разница, л
4418 + "amountDiffPerc": 0, ~/~/ Разница, %
4419 + "summa": 0, ~/~/ Стоимость, руб
4420 + "serviceName": "string", ~/~/ Тип топлива
4421 + "price": 0, ~/~/ Цена за литр, руб
4422 + "cardName": "string", ~/~/ Наименование ТК
4423 + "cardNum": "string", ~/~/ Номер ТК
4424 + "operator": "string", ~/~/ Оператор ТК
4425 + "address": "string" ~/~/ Адрес АЗС
4420 4420   }
4421 4421  
4422 4422  
... ... @@ -4430,28 +4430,28 @@
4430 4430  **GET ** **/api/v3/retranslations/{id}**
4431 4431  )))
4432 4432  
4433 -Идентификатор запроса: ID
4439 +id - Идентификатор ретранслятора
4434 4434  
4435 4435  
4436 4436  Пример ответа:
4437 4437  
4438 4438  {  
4439 -"description": "", ~/~/ Определяет описание
4440 -"subscriberId": "", ~/~/ Подписчик
4441 -"protocolType": 0, ~/~/ Тип протокола
4442 -"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен
4443 -"address": "string", ~/~/ Адрес события
4444 -"objects": [ ~/~/Объекты для ретрансляции
4445 +"description": "", ~/~/ Поле описания ретранслятора
4446 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4447 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4448 +"isEnabled": true, ~/~/ Признак включения ретранслятора, Включен, true - включен, false - отключен
4449 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4450 +"objects": [ ~/~/ Объекты для ретрансляции
4445 4445  {      
4446 4446  "id": "",  ~/~/ Идентификатор объекта ретрансляции
4447 4447  "name": "", ~/~/ Наименование объекта ретрансляции
4448 -"imei": "", ~/~/ IMEI объекта  
4449 -"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен
4454 +"imei": "", ~/~/ IMEI объекта  ретрансляции
4455 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен
4450 4450  }
4451 4451   ],  
4452 -"id": "", ~/~/ идентификатор пользователя   
4453 -"parentId": "", ~/~/Guid родителя
4454 -"deleted": "" ~/~/ Признак удаления, Включен, true - включен, false - отключен
4458 +"id": "", ~/~/ Идентификатор ретранслятора 
4459 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4460 +"deleted": "" ~/~/ Признак удаления ретранслятора: true - включен, false - отключен
4455 4455  }
4456 4456  
4457 4457  
... ... @@ -4462,7 +4462,7 @@
4462 4462  **DELETE** **/api/v3/retranslations/{id}**
4463 4463  )))
4464 4464  
4465 -Параметр запроса: ID
4471 +id - Идентификатор ретранслятора
4466 4466  
4467 4467  
4468 4468  == **Создание ретранслятора** ==
... ... @@ -4475,16 +4475,16 @@
4475 4475  Запрос:
4476 4476  
4477 4477  {  
4478 -"description": "", ~/~/ Описание
4479 -"subscriberId": "", ~/~/ Подписчик
4480 -"protocolType": 0, ~/~/ Тип протокола
4481 -"address": "", ~/~/ Адрес ретрансляции
4482 -"isEnabled": "", ~/~/ признак включения, Включен, true - включен, false - отключен
4484 +"description": "", ~/~/ Поле описания ретранслятора
4485 +"subscriberId": "", ~/~/ Идентификатор подписчика
4486 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4487 +"address": "", ~/~/ Адрес и порт принимающего сервера
4488 +"isEnabled": "", ~/~/ Признак включения ретранслятора, true - включен, false - отключен
4483 4483  "objects": [ ~/~/Объекты для ретрансляции
4484 4484  {      
4485 -"id": "", ~/~/ идентификатор пользователя     
4486 -"imei": "", ~/~/IMEI объекта
4487 -"isEnabled": ""  ~/~/ признак включения, Включен, true - включен, false - отключен  
4491 +"id": "", ~/~/ Идентификатор ретранслятора 
4492 +"imei": "", ~/~/ IMEI объекта ретрансляции
4493 +"isEnabled": ""  ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен
4488 4488  }
4489 4489   ]
4490 4490  }
... ... @@ -4493,22 +4493,22 @@
4493 4493  Ответ:
4494 4494  
4495 4495  {  
4496 -"description": "string", ~/~/ Определяет описание
4497 -"subscriberId": "", ~/~/ идентификатор запроса
4498 -"protocolType": 0, ~/~/ Тип протокола
4499 -"isEnabled": "", ~/~/ признак включения, Включен, true - включен, false - отключен
4500 -"address": "", ~/~/ Адрес события
4501 -"objects": [ ~/~/Объекты для ретрансляции
4502 +"description": "", ~/~/ Поле описания ретранслятора
4503 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4504 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4505 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4506 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4507 +"objects": [ ~/~/ Объекты для ретрансляции
4502 4502  {      
4503 -"id": "", ~/~/ идентификатор пользователя    
4504 -"name": "string", ~/~/ Название уведомления
4505 -"imei": "string", ~/~/IMEI объекта  
4506 -"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен  
4509 +"id": "", ~/~/ Идентификатор объекта ретрансляции     
4510 +"name": "string", ~/~/ Наименование объекта ретрансляции    
4511 +"imei": "", ~/~/ IMEI объекта ретрансляции
4512 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен  
4507 4507  }
4508 - ],  
4509 -"id": "", ~/~/ идентификатор пользователя  
4510 -"parentId": "", ~/~/ Guid идентификатор родителя
4511 -"deleted": true ~/~/ Признак удаления
4514 + ],
4515 +"id": "", ~/~/ Идентификатор ретранслятора   
4516 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4517 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален
4512 4512  }
4513 4513  
4514 4514  
... ... @@ -4522,18 +4522,18 @@
4522 4522  Пример запроса:
4523 4523  
4524 4524  {  
4525 -"id": "", ~/~/ идентификатор пользователя   
4526 -"description": "string", ~/~/ Определяет описание
4527 -"subscriberId": "", ~/~/ идентификатор запроса
4528 -"protocolType": 0, ~/~/ Тип протокола
4529 -"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен  
4530 -"address": "string", ~/~/ Адрес события
4531 -"objects": ~/~/Объекты для ретрансляции
4531 +"id": "", ~/~/ Идентификатор ретранслятора   
4532 +"description": "string", ~/~/ Поле описания ретранслятора
4533 +"subscriberId": "", ~/~/ Идентификатор подписчика
4534 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4535 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4536 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4537 +"objects": ~/~/ Объекты для ретрансляции
4532 4532  [    
4533 4533  {      
4534 -"id": "",  ~/~/ идентификатор пользователя         
4535 -"imei": "", ~/~/IMEI объекта
4536 -"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен  
4540 +"id": "",  ~/~/ Идентификатор объекта ретрансляции 
4541 +"imei": "", ~/~/ IMEI объекта ретрансляции
4542 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен
4537 4537  }
4538 4538   ]
4539 4539  }
... ... @@ -4542,22 +4542,22 @@
4542 4542  Пример ответа:
4543 4543  
4544 4544  {  
4545 -"description": "", ~/~/ Определяет описание
4546 -"subscriberId": "", ~/~/ идентификатор запроса
4547 -"protocolType": 0, ~/~/ Тип протокола
4548 -"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен  
4549 -"address": "string", ~/~/ Адрес события
4550 -"objects": [ ~/~/Объекты для ретрансляции
4551 +"description": "", ~/~/ Поле описания ретранслятора
4552 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4553 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4554 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4555 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4556 +"objects": [ ~/~/ Объекты для ретрансляции
4551 4551  {      
4552 -"id": "", ~/~/ идентификатор пользователя     
4553 -"name": "string", ~/~/ Название уведомления    
4554 -"imei": "", ~/~/IMEI объекта
4555 -"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен  
4558 +"id": "", ~/~/ Идентификатор объекта ретрансляции     
4559 +"name": "string", ~/~/ Наименование объекта ретрансляции    
4560 +"imei": "", ~/~/ IMEI объекта ретрансляции
4561 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен  
4556 4556  }
4557 4557   ],
4558 -"id": "", ~/~/ идентификатор пользователя   
4559 -"parentId": "", ~/~/ Guid идентификатор родителя
4560 -"deleted": true ~/~/ Признак удаления
4564 +"id": "", ~/~/ Идентификатор ретранслятора   
4565 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4566 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален
4561 4561  }
4562 4562  
4563 4563  
... ... @@ -4571,9 +4571,9 @@
4571 4571  Пример запроса:
4572 4572  
4573 4573  {  
4574 -"id": "", ~/~/ идентификатор пользователя   
4575 -"search": "string", ~/~/Строка поиска. Поиск производится по имени подписчика, описанию, типу протокола и адресу
4576 -"parentId": "" ~/~/ Идентификатор агента, для которого надо получить данные.
4580 +"id": "", ~/~/ Идентификатор ретранслятора   
4581 +"search": "string", ~/~/ Строка поиска. Поиск производится по имени подписчика, описанию, типу протокола и адресу
4582 +"parentId": "" ~/~/ Идентификатор родительского агента, для которого надо получить данные (обязательный параметр).
4577 4577  }
4578 4578  
4579 4579  Ответ:
... ... @@ -4580,14 +4580,14 @@
4580 4580  
4581 4581  [ 
4582 4582  {    
4583 -"description": "", ~/~/ Определяет описание
4584 -"subscriberId": "", ~/~/ идентификатор запроса
4585 -"protocolType": 0, ~/~/ Тип протокола
4586 -"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен  
4587 -"address": "string", ~/~/ Адрес события
4588 -"id": "", ~/~/ идентификатор пользователя   
4589 -"parentId": "", ~/~/ Guid идентификатор родителя
4590 -"deleted": true ~/~/ Признак удаления
4589 +"description": "", ~/~/ Поле описания ретранслятора
4590 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4591 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4592 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4593 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4594 +"id": "", ~/~/ Идентификатор ретранслятора   
4595 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4596 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален
4591 4591  }
4592 4592  ]
4593 4593  
... ... @@ -4670,6 +4670,517 @@
4670 4670  ]
4671 4671  
4672 4672  
4679 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Сельскохозяйственные поля **(%%) =
4680 +
4681 +== **Получение поля по id** ==
4682 +
4683 +(% class="box infomessage" %)
4684 +(((
4685 +GET **/api/v3/agroLands/{id}**
4686 +)))
4687 +
4688 +Пример запроса:
4689 +id  ~/~/ Идентификатор поля
4690 +
4691 +Пример ответа:
4692 +
4693 +(((
4694 +{
4695 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор культуры
4696 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
4697 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
4698 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
4699 + "cropRotations": [ ~/~/ Данные по севообороту
4700 + {
4701 + "landId": 0, ~/~/ ID поля
4702 + "landName": "string", ~/~/ Название поля
4703 + "year": 0, ~/~/ Год урожая
4704 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
4705 + "cultureName": "string", ~/~/ Название культуры
4706 + "productivity": 0, ~/~/ Урожайность
4707 + "area": 0, ~/~/ Площадь поля, Га
4708 + "total": 0, ~/~/ Валовый сбор
4709 + "productivityFact": 0, ~/~/ Фактическая урожайность
4710 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
4711 + "totalFact": 0, ~/~/ Фактический валовый сбор
4712 + "start": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала работ
4713 + "sowing": "2024-12-20T07:45:52.611Z", ~/~/ Дата сева
4714 + "harvesting": "2024-12-20T07:45:52.611Z", ~/~/ Дата уборки урожая
4715 + "isyearplan": true, ~/~/ План года 
4716 + "comment": "string" ~/~/ Комментарий
4717 + }
4718 + ],
4719 + "cropVegetation": [ ~/~/ История вегетации поля
4720 + {
4721 + "values": [ ~/~/ Данные вегетации и состояния посева
4722 + {
4723 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата
4724 + "ndvi": 0 ~/~/ Индекс вегетации
4725 + }
4726 + ],
4727 + "resources": [  ~/~/ Данные о снимках для каждого значения NDVI
4728 + {
4729 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата
4730 + "type": "string", ~/~/ Тип 
4731 + "pictureid": "string" ~/~/ Идентификатор ресурса
4732 + }
4733 + ],
4734 + "states": [ ~/~/ Ключевые даты развития поля
4735 + {
4736 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата 
4737 + "state": 0 ~/~/ Статус 0 - Посев, 1 - Всходы, 2 - Сбор урожая
4738 + }
4739 + ]
4740 + }
4741 + ],
4742 + "endDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата закрытия года урожая
4743 + "counts": {
4744 + "fieldOperations": 0, ~/~/ Количество операций на поле
4745 + "actualFieldOperations": 0,  ~/~/ Кол-во актуальных операций на поле
4746 + "facts": 0 ~/~/ Счётчик факта
4747 + },
4748 + "planComment": "string", ~/~/ Комментарий к полю
4749 + "productivity": 0, ~/~/ Урожайность.
4750 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
4751 +)))
4752 +
4753 +(((
4754 +(((
4755 + "startDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата открытия года урожая
4756 + "year": 0, ~/~/ Год поля
4757 + "planState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 
4758 + "actualPlanState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
4759 + "factState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
4760 + "taskState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
4761 + "status": 0,  ~/~/ Статус с/х поля (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
4762 + "id": 0, ~/~/ Идентификатор объекта геозоны
4763 + "name": "string", ~/~/ Название объекта геозоны
4764 + "type": 0, ~/~/ Тип объекта геозоны 
4765 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
4766 + "fname": "string", ~/~/ Имя файла
4767 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
4768 + "beginCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала расчетов для геозоны
4769 + "endCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата окончания расчетов для геозоны
4770 + "description": "string", ~/~/ Описание объекта геозоны
4771 + "area": 0, ~/~/ Площадь, м2
4772 + "perimetr": 0, ~/~/ Периметр, м
4773 + "createDate": "2024-12-20T07:45:52.611Z" ~/~/ Дата создания в бд
4774 +}
4775 +)))
4776 +
4777 +
4778 +== **Удалить поле** ==
4779 +
4780 +(% class="box errormessage" %)
4781 +(((
4782 +DELETE **/api/v3/agroLands/{id}**
4783 +)))
4784 +
4785 +Пример запроса:
4786 +id  ~/~/ Идентификатор поля
4787 +
4788 +Пример ответа:
4789 +
4790 +(((
4791 +200 ~/~/ Успех
4792 +)))
4793 +
4794 +(((
4795 +
4796 +)))
4797 +
4798 +(((
4799 +== **Сохранение поля** ==
4800 +
4801 +(% class="box successmessage" %)
4802 +(((
4803 +POST **/api/v3/agroLands**
4804 +)))
4805 +
4806 +Пример запроса:
4807 +
4808 +(((
4809 +{
4810 + "extId": "string", 
4811 + "shape": "string", ~/~/ Форма поля
4812 + "shapeFormat": "string", ~/~/ Формат, в котором представлена форма поля
4813 + "display": "string", ~/~/ Настройки отображения
4814 + "year": 0, ~/~/ Год поля
4815 + "name": "string", ~/~/ Наименование
4816 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
4817 + "startDate": "2024-12-20T08:19:59.635Z", ~/~/ Начало года урожая
4818 + "endDate": "2024-12-20T08:19:59.635Z", ~/~/ Конец года урожая
4819 + "planComment": "string", ~/~/ Комментарий к полю
4820 + "cropRotations": [ ~/~/ Данные по севообороту
4821 + {
4822 + "landId": 0, ~/~/ ID поля
4823 + "landName": "string", ~/~/ Название поля
4824 + "year": 0, ~/~/ Год урожая
4825 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
4826 + "cultureName": "string", ~/~/ Название культуры
4827 + "productivity": 0, ~/~/ Урожайность
4828 + "area": 0, ~/~/ Площадь поля, Га
4829 + "total": 0, ~/~/ Валовый сбор
4830 + "productivityFact": 0, ~/~/ Фактическая урожайность
4831 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
4832 + "totalFact": 0, ~/~/ Фактический валовый сбор
4833 + "start": "2024-12-20T08:19:59.635Z", ~/~/ Дата начала работ
4834 + "sowing": "2024-12-20T08:19:59.635Z", ~/~/ Дата сева
4835 + "harvesting": "2024-12-20T08:19:59.635Z", ~/~/ Дата уборки урожая
4836 + "isyearplan": true, ~/~/ Годовой план 
4837 + "comment": "string" ~/~/ Комментарий
4838 + }
4839 + ]
4840 +}
4841 +)))
4842 +
4843 +(((
4844 +
4845 +)))
4846 +
4847 +Пример ответа:
4848 +
4849 +(((
4850 +(((
4851 +{
4852 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор культуры
4853 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
4854 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
4855 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
4856 + "cropRotations": [ ~/~/ Данные по севообороту
4857 + {
4858 + "landId": 0, ~/~/ ID поля
4859 + "landName": "string", ~/~/ Название поля
4860 + "year": 0, ~/~/ Год урожая 
4861 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
4862 + "cultureName": "string", ~/~/ Название культуры
4863 + "productivity": 0, ~/~/ Урожайность
4864 + "area": 0, ~/~/ Площадь поля, Га.
4865 + "total": 0, ~/~/ Валовый сбор
4866 + "productivityFact": 0, ~/~/ Фактическая урожайность
4867 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
4868 + "totalFact": 0, ~/~/ Фактический валовый сбор
4869 + "start": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала работ
4870 + "sowing": "2024-12-20T08:19:59.743Z", ~/~/ Дата сева
4871 + "harvesting": "2024-12-20T08:19:59.743Z", ~/~/ Дата уборки урожая
4872 + "isyearplan": true, ~/~/ годовой план 
4873 + "comment": "string" ~/~/ Комментарий
4874 + }
4875 + ],
4876 + "cropVegetation": [ ~/~/ История вегетации поля
4877 + {
4878 + "values": [  ~/~/ Данные вегетации и состояния посева
4879 + {
4880 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата
4881 + "ndvi": 0 ~/~/ Индекс вегетации
4882 + }
4883 + ],
4884 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI
4885 + {
4886 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата
4887 + "type": "string", ~/~/ Тип
4888 + "pictureid": "string" ~/~/ Идентификатор ресурса
4889 + }
4890 + ],
4891 + "states": [ ~/~/ Ключевые даты развития поля
4892 + {
4893 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата
4894 + "state": 0 ~/~/ Статус  0 - Всходы, 1 - Вершина, 2 - Сбор урожая
4895 + }
4896 + ]
4897 + }
4898 + ],
4899 + "endDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата закрытия года урожая
4900 + "counts": {
4901 + "fieldOperations": 0, ~/~/ Количество операций на поле
4902 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
4903 + "facts": 0 ~/~/ Счётчик факта
4904 + },
4905 + "planComment": "string", ~/~/ Комментарий к полю
4906 +)))
4907 +
4908 +(((
4909 + "productivity": 0, ~/~/ Урожайность.
4910 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
4911 + "startDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата открытия года урожая
4912 + "year": 0, ~/~/ Год поля
4913 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
4914 + "actualPlanState": 0, ~/~/ Актуальный статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
4915 + "factState": 0, ~/~/ Фактический статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
4916 + "taskState": 0, ~/~/ Статус задачи годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
4917 + "status": 0, ~/~/ Статус с/х поля 0 - Нет, 1 - Открыто, 2 - Закрыто
4918 + "id": 0, ~/~/ Идентификатор объекта геозоны
4919 + "name": "string", ~/~/ Название объекта геозоны
4920 + "type": 0, ~/~/ Тип объекта геозоны
4921 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
4922 + "fname": "string", ~/~/ Имя файла
4923 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
4924 + "beginCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала расчетов для геозоны
4925 + "endCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата окончания расчетов для геозоны
4926 + "description": "string", ~/~/ Описание объекта геозоны
4927 + "area": 0, ~/~/ Площадь, м2
4928 + "perimetr": 0, ~/~/ Периметр, м
4929 + "createDate": "2024-12-20T08:19:59.743Z" ~/~/ Дата создания в бд
4930 +}
4931 +)))
4932 +
4933 +(((
4934 +
4935 +)))
4936 +
4937 +(((
4938 +== **Изменение поля** ==
4939 +
4940 +(% class="box infomessage" %)
4941 +(((
4942 +PUT **/api/v3/agroLands**
4943 +)))
4944 +
4945 +Пример запроса:
4946 +
4947 +(((
4948 +(((
4949 +{
4950 + "id": 0, ~/~/ Идентификатор поля
4951 + "extId": "string", ~/~/ ExtId
4952 + "shape": "string", ~/~/ Форма поля
4953 + "shapeFormat": "string", ~/~/ Формат, в котором представлена форма поля
4954 + "display": "string", ~/~/ Настройки отображения
4955 + "year": 0, ~/~/ Год поля
4956 + "name": "string", ~/~/ Наименование
4957 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
4958 + "startDate": "2024-12-20T10:11:59.425Z", ~/~/ Начало года урожая
4959 + "endDate": "2024-12-20T10:11:59.425Z", ~/~/ Конец года урожая
4960 + "planComment": "string", ~/~/Комментарий к полю
4961 + "cropRotations": [  ~/~/ Данные по севообороту
4962 + {
4963 + "landId": 0, ~/~/ ID поля
4964 + "landName": "string", ~/~/ Название поля
4965 + "year": 0, ~/~/ Год урожая
4966 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
4967 + "cultureName": "string", ~/~/ Название культуры
4968 + "productivity": 0, ~/~/ Урожайность
4969 + "area": 0, ~/~/ Площадь поля, Га.
4970 + "total": 0, ~/~/ Валовый сбор
4971 + "productivityFact": 0, ~/~/ Фактическая урожайность
4972 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
4973 + "totalFact": 0, ~/~/ Фактический валовый сбор
4974 + "start": "2024-12-20T10:11:59.425Z", ~/~/ Дата начала работ
4975 + "sowing": "2024-12-20T10:11:59.425Z", ~/~/ Дата сева
4976 + "harvesting": "2024-12-20T10:11:59.425Z", ~/~/ Дата уборки урожая
4977 + "isyearplan": true, 
4978 + "comment": "string" ~/~/ Комментарий
4979 + }
4980 + ],
4981 + "deleteStatistic": true ~/~/ Нужно ли удалять статистику
4982 +}
4983 +)))
4984 +)))
4985 +
4986 +(((
4987 +
4988 +)))
4989 +
4990 +Пример ответа:
4991 +
4992 +(((
4993 +(((
4994 +(((
4995 +{
4996 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры
4997 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
4998 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
4999 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5000 + "cropRotations": [ ~/~/ Данные по севообороту
5001 + {
5002 + "landId": 0, ~/~/ ID поля
5003 + "landName": "string", ~/~/ Название поля
5004 + "year": 0, ~/~/  Год урожая
5005 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5006 + "cultureName": "string", ~/~/ Название культуры
5007 + "productivity": 0, ~/~/ Урожайность
5008 + "area": 0, ~/~/ Площадь поля, Га
5009 + "total": 0, ~/~/ Валовый сбор
5010 + "productivityFact": 0, ~/~/ Фактическая урожайность
5011 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5012 + "totalFact": 0, ~/~/ Фактический валовый сбор
5013 + "start": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала работ
5014 + "sowing": "2024-12-20T10:11:59.533Z", ~/~/ Дата сева
5015 + "harvesting": "2024-12-20T10:11:59.533Z", ~/~/ Дата уборки урожая
5016 + "isyearplan": true, ~/~/ 
5017 + "comment": "string" ~/~/ Комментарий
5018 + }
5019 + ],
5020 + "cropVegetation": [ ~/~/ История вегетации поля
5021 + {
5022 + "values": [ ~/~/ Данные вегетации и состояния посева
5023 + {
5024 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата
5025 + "ndvi": 0 ~/~/ Индекс вегетации
5026 + }
5027 + ],
5028 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI
5029 + {
5030 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата
5031 + "type": "string", ~/~/ Тип
5032 + "pictureid": "string" ~/~/ Идентификатор ресурса
5033 + }
5034 + ],
5035 + "states": [ ~/~/ Ключевые даты развития поля 
5036 + {
5037 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата
5038 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая
5039 + }
5040 + ]
5041 + }
5042 + ],
5043 + "endDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата закрытия года урожая
5044 + "counts": { 
5045 + "fieldOperations": 0, ~/~/ Количество операций на поле
5046 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
5047 + "facts": 0 ~/~/ Счётчик факта
5048 + },
5049 + "planComment": "string", ~/~/ Комментарий к полю
5050 + "productivity": 0, ~/~/ Урожайность.
5051 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5052 + "startDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата открытия года урожая
5053 + "year": 0, ~/~/ Год поля
5054 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5055 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5056 + "factState": 0,  ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5057 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5058 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто 
5059 + "id": 0, ~/~/ Идентификатор объекта геозоны
5060 + "name": "string", ~/~/ Название объекта геозоны
5061 + "type": 0, ~/~/ Тип объекта геозоны
5062 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5063 + "fname": "string", ~/~/ Имя файла
5064 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5065 + "beginCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала расчетов для геозоны
5066 + "endCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата окончания расчетов для геозоны
5067 + "description": "string", ~/~/ Описание объекта геозоны
5068 + "area": 0, ~/~/ Площадь, м2
5069 + "perimetr": 0, ~/~/ Периметр, м
5070 + "createDate": "2024-12-20T10:11:59.533Z" ~/~/ Дата создания в бд
5071 +}
5072 +)))
5073 +)))
5074 +)))
5075 +)))
5076 +)))
5077 +
5078 +
5079 +== **Возвращает список полей** ==
5080 +
5081 +(% class="box successmessage" %)
5082 +(((
5083 +POST **/api/v3/agroLands/updateOpenCloseYear**
5084 +)))
5085 +
5086 +Пример запроса:
5087 +
5088 +(((
5089 +(((
5090 +{
5091 + "agroLandIds": [  ~/~/ Идентификаторы полей для которых меняется год урожая
5092 + 0
5093 + ],
5094 + "newStartDate": "2024-12-20T11:43:43.921Z", ~/~/ Новая дата начала урожая
5095 + "newEndDate": "2024-12-20T11:43:43.921Z" ~/~/ Новая дата закрытия урожая
5096 +}
5097 +)))
5098 +
5099 +
5100 +)))
5101 +
5102 +Пример ответа:
5103 +
5104 +(((
5105 +(((
5106 +{
5107 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры
5108 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5109 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5110 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5111 + "cropRotations": [ ~/~/ Данные по севообороту
5112 + {
5113 + "landId": 0, ~/~/ ID поля
5114 + "landName": "string", ~/~/ Название поля
5115 + "year": 0, ~/~/ Год урожая
5116 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5117 + "cultureName": "string", ~/~/ Название культуры
5118 + "productivity": 0, ~/~/ Урожайность
5119 + "area": 0, ~/~/ Площадь поля, Га.
5120 + "total": 0, ~/~/ Валовый сбор
5121 + "productivityFact": 0, ~/~/ Фактическая урожайность
5122 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5123 + "totalFact": 0, ~/~/ Фактический валовый сбор
5124 + "start": "2024-12-20T11:43:44.091Z", ~/~/ Дата начала работ
5125 + "sowing": "2024-12-20T11:43:44.091Z", ~/~/ Дата сева
5126 + "harvesting": "2024-12-20T11:43:44.091Z", ~/~/ Дата уборки урожая
5127 + "isyearplan": true, ~/~/ 
5128 + "comment": "string" ~/~/ Комментарий
5129 + }
5130 + ],
5131 + "cropVegetation": [ ~/~/ История вегетации поля
5132 + {
5133 + "values": [ ~/~/ Данные вегетации и состояния посева
5134 + {
5135 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата
5136 + "ndvi": 0 ~/~/ Индекс вегетации
5137 + }
5138 + ],
5139 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI
5140 + {
5141 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата
5142 + "type": "string", ~/~/ Тип
5143 + "pictureid": "string" ~/~/ Идентификатор ресурса
5144 + }
5145 + ],
5146 + "states": [ ~/~/ Ключевые даты развития поля
5147 + {
5148 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата 
5149 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая
5150 + }
5151 + ]
5152 + }
5153 + ],
5154 + "endDate": "2024-12-20T11:43:44.091Z", ~/~/ Дата закрытия года урожая
5155 + "counts": { 
5156 + "fieldOperations": 0, ~/~/ Количество операций на поле
5157 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
5158 + "facts": 0 ~/~/ Счётчик факта
5159 + },
5160 + "planComment": "string", ~/~/ Комментарий к полю
5161 + "productivity": 0, ~/~/ Урожайность.
5162 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5163 + "startDate": "2024-12-20T11:43:44.091Z", ~/~/ Дата открытия года урожая
5164 + "year": 0, ~/~/ Год поля
5165 + "planState": 0,  ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5166 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5167 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5168 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5169 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто
5170 + "id": 0, ~/~/ Идентификатор объекта геозоны
5171 + "name": "string", ~/~/ Название объекта геозоны
5172 + "type": 0, ~/~/ Тип объекта геозоны
5173 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5174 + "fname": "string", ~/~/ Имя файла
5175 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5176 + "beginCalc": "2024-12-20T11:43:44.091Z", ~/~/ Дата начала расчетов для геозоны
5177 + "endCalc": "2024-12-20T11:43:44.091Z", ~/~/ Дата окончания расчетов для геозоны
5178 + "description": "string", ~/~/ Описание объекта геозоны
5179 + "area": 0, ~/~/ Площадь, м2
5180 + "perimetr": 0, ~/~/ ериметр, м
5181 + "createDate": "2024-12-20T11:43:44.091Z" ~/~/ Дата создания в бд
5182 +}
5183 +)))
5184 +
5185 +
5186 +)))
5187 +)))
5188 +)))
5189 +
4673 4673  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Корзина**(%%) =
4674 4674  
4675 4675  == (% style="color:#000000; font-size:16px" %)**Запрос на получение списка всех объектов в корзине**(%%) ==

Меню

ГЛОНАССSoft wiki - 2024 г.