Files
dc-observatio/services/pcp-request-service/docs/AsyncAPIRequestPCP.yaml
T
Дмитрий Соловьев d48ddd2657 Init
2026-05-25 14:23:52 +03:00

1270 lines
41 KiB
YAML

asyncapi: 2.6.0
info:
title: PCP RequestTask API
version: 0.0.1
description: "Сервис для приема и подтверждения заявок на съемку, а так же для формирования\
\ и \nбронирования схем покрытия заявок.\n"
servers:
production:
url: kafka://broker.example.com:9092
protocol: kafka
defaultContentType: application/json
channels:
pcp.slot.cover.task:
description: 'СПО ПЦП подписывается на заказ схемы покрытия.
Содержимое сообщения содержит заявку на съемку.
'
subscribe:
summary: Запрос на схему покрытия.
message:
$ref: '#/components/messages/SlotCoverRequest'
pcp.slot.cover.ready:
description: 'СПО ПЦП публикует сформированную схему покрытия.
Содержимое сообщения содержит схему покрытия.
'
publish:
summary: Публикация схемы покрытия слотами.
message:
$ref: '#/components/messages/SlotCoverReady'
pcp.slot.cover.book:
description: 'СПО ПЦП подписывается на топик с запросом на бронирование схемы
покрытия.
Содержимое сообщения содержит идентификаторы слотов схемы покрытия, утвержденную
потребителем.
'
subscribe:
summary: Запрос на бронирование слотов.
message:
$ref: '#/components/messages/SlotCoverBooking'
pcp.slot.cover.ack:
description: 'СПО ПЦП публикует подтверждение бронирования схемы покрытия.
Содержимое сообщения содержит идентификаторы слотов подтвержденной схемы покрытия.
'
publish:
summary: Публикация подтверждения бронирования слотов.
message:
$ref: '#/components/messages/SlotCoverCommited'
pcp.spacecraft.plan.ready:
description: СПО ПЦП публикует сформированный план работы КА.
publish:
summary: Публикация плана работы КА.
message:
$ref: '#/components/messages/SpacecraftPlanReady'
pcp.groundstation.change:
description: СПО ПЦП подписывается на уведомления об изменении параметров земных
станций (без передачи данных).
subscribe:
summary: Факт изменения параметров ЗС.
message:
$ref: '#/components/messages/GroundStationChanged'
pcp.spacecraft.nu.change:
description: СПО ПЦП подписывается на уведомления об изменении начальных условий
КА (без передачи данных).
subscribe:
summary: Факт изменения начальных условий КА.
message:
$ref: '#/components/messages/SpacecraftNuChanged'
pcp.spacecraft.bls.change:
description: СПО ПЦП подписывается на уведомления об изменении блока состояния
КА (без передачи данных).
subscribe:
summary: Факт изменения блока состояния КА.
message:
$ref: '#/components/messages/SpacecraftBlsChanged'
pcp.spacecraft.control.time:
description: СПО ПЦП подписывается на события о приходе/обновлении графика управления
КА.
subscribe:
summary: Приход графика управления КА.
message:
$ref: '#/components/messages/SpacecraftControlTime'
components:
messages:
SlotCoverRequest:
name: slotCoverRequest
title: Схема покрытия.
summary: Запрос схемы покрытия от СПО ПЦП.
contentType: application/json
headers:
$ref: '#/components/schemas/EventHeaders'
payload:
$ref: '#/components/schemas/Request'
bindings:
kafka:
valueFormat: json
SlotCoverReady:
name: slotCoverReady
title: Схема покрытия.
summary: Сформированная схема покрытия.
contentType: application/json
headers:
$ref: '#/components/schemas/EventHeaders'
payload:
type: array
items:
$ref: '#/components/schemas/SurveySlot'
description: Список слотов (схема покрытия)
bindings:
kafka:
valueFormat: json
SlotCoverBooking:
name: slotCoverBooking
title: Схема покрытия, бронирование.
summary: Запрос на бронирование схемы покрытия.
contentType: application/json
headers:
$ref: '#/components/schemas/EventHeaders'
payload:
properties:
slots:
type: array
items:
$ref: '#/components/schemas/SurveySlotInfo'
description: Список слотов для бронирования.
request:
$ref: '#/components/schemas/Request'
type: object
required:
- slots
- request
bindings:
kafka:
valueFormat: json
SlotCoverCommited:
name: slotCoverCommitted
title: Схема покрытия, бронирование.
summary: Подтверждение от СПО ПЦП бронирования схемы покрытия.
contentType: application/json
headers:
$ref: '#/components/schemas/EventHeaders'
payload:
type: array
items:
$ref: '#/components/schemas/SurveySlotInfo'
description: Список забронированных слотов.
bindings:
kafka:
valueFormat: json
SpacecraftPlanReady:
name: SpacecraftPlanReady
title: План работы КА готов
summary: Публикация сформированного плана работы КА (маршруты съемки + сбросы)
для потребителей.
contentType: application/json
headers:
$ref: '#/components/schemas/EventHeaders'
payload:
$ref: '#/components/schemas/SpacecraftWorkPlan'
bindings:
kafka:
valueFormat: json
GroundStationChanged:
name: GroundStationChanged
title: Изменение параметров земной станции
summary: Уведомление о факте изменения параметров земной станции (без передачи
данных) (payload содержит только идентификатор).
contentType: application/json
headers:
$ref: '#/components/schemas/EventHeaders'
payload:
$ref: '#/components/schemas/GroundStationChangedPayload'
bindings:
kafka:
valueFormat: json
examples:
- payload:
stationId: 101
SpacecraftNuChanged:
name: SpacecraftNuChanged
title: Изменение начальных условий КА
summary: Уведомление о факте изменения начальных условий КА (без передачи данных)
(payload содержит только идентификатор).
contentType: application/json
headers:
$ref: '#/components/schemas/EventHeaders'
payload:
$ref: '#/components/schemas/SpacecraftChangedPayload'
bindings:
kafka:
valueFormat: json
examples:
- payload:
spacecraftId: 205
SpacecraftBlsChanged:
name: SpacecraftBlsChanged
title: Изменение параметров блока состояния КА
summary: Уведомление о факте изменения блока состояния КА (без передачи данных)
(payload содержит только идентификатор).
contentType: application/json
headers:
$ref: '#/components/schemas/EventHeaders'
payload:
$ref: '#/components/schemas/SpacecraftChangedPayload'
bindings:
kafka:
valueFormat: json
examples:
- payload:
spacecraftId: 205
SpacecraftControlTime:
name: SpacecraftControlTime
title: График управления КА
summary: Событие о приходе/обновлении графика управления КА (основная/корректирующая
закладки и интервал планирования).
contentType: application/json
headers:
$ref: '#/components/schemas/EventHeaders'
payload:
$ref: '#/components/schemas/SpacecraftControlTimeEvent'
bindings:
kafka:
valueFormat: json
examples:
- payload:
spacecraftId: 205
mainUploadAt: '2026-02-20T10:00:00'
correctionUploadAt: '2026-02-20T14:00:00'
planningBegin: '2026-02-20T00:00:00'
planningEnd: '2026-02-27T00:00:00'
schemas:
Request:
type: object
description: Заявка на съемку. Необходимо указать хотя бы одно требование по
аппаратуре.
properties:
id:
type: string
format: uuid
description: Идентификатор заявки UUID.
name:
type: string
maxLength: 255
description: Наименование заявки. Не более 255 символов.
kpp:
type: array
items:
type: integer
description: Список номеров КПП для сброса. Если не указано, сброс производится
на все доступные КПП.
highPriorityTransmit:
type: boolean
default: false
description: Признак высокоприоритетной передачи.
intervalBegin:
type: string
format: date-time
description: Дата‑время начала выполнения заявки. Не может быть менее чем
сегодня.
intervalEnd:
type: string
format: date-time
description: Дата‑время конца выполнения заявки. Минимальный интервал съемки
- 7 дней.
optics:
$ref: '#/components/schemas/OpticsConstraints'
nullable: true
description: Ограничения по оптике (null – не используется).
rsa:
$ref: '#/components/schemas/RSAConstraints'
nullable: true
description: Ограничения по РСА (null – не используется).
geometry:
type: string
format: wkt
description: Геометрия заявки в формате WKT. Геометрия должна быть Polygon.
additionalProperties: false
required:
- id
- name
- intervalBegin
- intervalEnd
- geometry
anyOf:
- required:
- optics
- required:
- rsa
RSAConstraints:
type: object
description: Ограничения на съемку, РСА
properties:
resultType:
$ref: '#/components/schemas/RsaResultType'
description: Режим работы РСА (детальный(Spotlight), маршрутный(StripMap),
обзорный(ScanSar))
interferometry:
type: boolean
description: Признак интерферометрии
polarisation:
$ref: '#/components/schemas/PolarisationType'
description: Поляризация
resolution:
type: number
format: double
default: 20
description: Требуемое разрешение, м.
additionalProperties: false
required:
- resultType
- resolution
- polarisation
OpticsConstraints:
type: object
description: Ограничения на съемку, оптика.
properties:
resultType:
$ref: '#/components/schemas/OpticsResultType'
description: Тип требуемого продукта (панхром, мультиспектр, паншарпенинг).
resolution:
type: number
format: double
description: Требуемое разрешение, м.
sunAngleMin:
type: number
format: double
default: 0
minimum: 0
maximum: 90
description: Минимальный угол солнца.
sunAngleMax:
type: number
format: double
default: 90
minimum: 0
maximum: 90
description: Максимальный угол солнца.
clouds:
type: number
format: double
default: 100
minimum: 0
maximum: 100
description: Облачность. Максимально допустимое значение.
additionalProperties: false
required:
- resultType
- resolution
PolarisationType:
type: string
enum:
- HH
- VV
description: Тип поляризации.
OpticsResultType:
type: string
enum:
- PANCHROMATIC
- MULTISPECTRAL
- PANSHARPENING
description: Результат оптической съемки.
RsaResultType:
type: string
enum:
- SPOTLIGHT
- STRIPMAP
- SCANSAR
description: Режим работы РСА.
SurveySlot:
type: object
description: Слот наблюдения (часть схемы покрытия).
properties:
slotNumber:
type: integer
format: int64
default: 0
description: Номер слота.
cycle:
type: integer
format: int64
default: 0
description: Цикл замыкания.
ka:
type: integer
format: int64
default: 0
description: Идентификатор КА.
tn:
type: string
format: date-time
description: Время начала наблюдения слота.
tk:
type: string
format: date-time
description: Время конца наблюдения слота.
roll:
type: number
format: double
description: Угол визирования.
contour:
type: string
description: Геометрия слота, WKT, WGS 84.
revolution:
type: integer
format: int64
default: 0
description: Виток наблюдения.
revolutionSign:
$ref: '#/components/schemas/RevolutionSign'
description: Признак ветви (восходящая/нисходящая).
state:
type: integer
format: int16
default: 0
description: Статус бронирования (0 - нет, 1 - да).
additionalProperties: false
required:
- cycle
- ka
- tn
- tk
- roll
- contour
- revolution
- revolutionSign
- slotNumber
- state
SurveySlotInfo:
type: object
description: Краткая информация слота, необходимая для бронирования.
properties:
slotNumber:
type: integer
format: int64
default: 0
description: Номер слота.
cycle:
type: integer
format: int64
default: 0
description: Цикл замыкания.
noradId:
type: integer
format: int64
default: 0
description: Идентификатор НОРАД.
additionalProperties: false
required:
- slotNumber
- cycle
- noradId
RevolutionSign:
type: string
enum:
- ASC
- DESC
description: Признак ветви – восходящая/нисходящая.
RequestType:
type: string
enum:
- RESERVATION
- COMMON
description: Тип заявки. Бронь или обычная.
EventType:
type: string
description: Тип события. Значение обязательно и используется для маршрутизации
и диагностики.
enum:
- NEW_REQUEST
- NEW_REQUEST_COMMITED
- REQUEST_CANCEL
- REQUEST_CANCEL_COMMITED
- ORDER_SLOT_COVER
- SLOT_COVER_READY
- SLOT_COVER_BOOKING
- SLOT_COVER_BOOKED
- GROUNDSTATION_CHANGED
- SPACECRAFT_NU_CHANGED
- SPACECRAFT_BLS_CHANGED
EventHeaders:
type: object
required:
- event_id
- event_type
- produced_at
properties:
event_id:
type: string
description: Уникальный идентификатор события.
event_type:
$ref: '#/components/schemas/EventType'
produced_at:
type: string
format: date-time
description: Время формирования события.
trace_id:
type: string
nullable: true
description: Идентификатор трассировки.
schema_version:
type: string
nullable: true
description: Версия схемы сообщения.
example: v1
SpacecraftWorkPlan:
type: object
description: План работы КА
properties:
planningBegin:
type: string
format: date-time
planningEnd:
type: string
format: date-time
imagingRoutes:
type: array
items:
$ref: '#/components/schemas/RoutePlanItem'
default: []
downlinks:
type: array
items:
$ref: '#/components/schemas/DownlinkPlanItem'
default: []
required:
- planningBegin
- planningEnd
additionalProperties: false
RoutePlanItem:
type: object
description: Маршрут съемки в плане работы КА
properties:
activationNumber:
type: integer
format: int32
routeNumber:
type: integer
format: int32
revolution:
type: integer
format: int64
routeOnRevolutionNumber:
type: integer
format: int32
startTime:
type: string
format: date-time
durationSec:
type: integer
format: int64
payloadType:
$ref: '#/components/schemas/PayloadType'
targetWkt:
type: string
description: Координаты точки прицеливания (например WKT)
rollDeg:
type: number
format: double
pitchDeg:
type: number
format: double
yawDeg:
type: number
format: double
sunAngleBeginDeg:
type: number
format: double
sunAngleEndDeg:
type: number
format: double
slantRangeBeginMeters:
type: number
format: double
slantRangeEndMeters:
type: number
format: double
required:
- activationNumber
- routeNumber
- revolution
- routeOnRevolutionNumber
- startTime
- durationSec
- payloadType
- targetWkt
- rollDeg
- pitchDeg
- yawDeg
- sunAngleBeginDeg
- sunAngleEndDeg
- slantRangeBeginMeters
- slantRangeEndMeters
additionalProperties: false
DownlinkPlanItem:
type: object
description: Сброс в плане работы КА
properties:
activationNumber:
type: integer
format: int32
downlinkNumber:
type: integer
format: int32
revolution:
type: integer
format: int64
stationId:
type: integer
format: int64
begin:
type: string
format: date-time
end:
type: string
format: date-time
routeKeys:
type: array
items:
$ref: '#/components/schemas/RouteKey'
default: []
required:
- activationNumber
- downlinkNumber
- revolution
- stationId
- begin
- end
additionalProperties: false
RouteKey:
type: object
description: Составной ключ маршрута (порядковый номер включения + номер витка
+ номер на витке)
properties:
activationNumber:
type: integer
format: int32
revolution:
type: integer
format: int64
routeOnRevolutionNumber:
type: integer
format: int32
required:
- activationNumber
- revolution
- routeOnRevolutionNumber
additionalProperties: false
PayloadType:
type: string
description: Данные по аппаратуре
enum:
- RADAR
- OPTICS
GroundStationCoordinates:
type: object
description: 'Координаты ЗС в WGS-84.
Можно передавать либо b/l/h, либо WKT Point(x,y,z).
'
properties:
b:
type: number
format: double
description: Широта (градусы)
l:
type: number
format: double
description: Долгота (градусы)
h:
type: number
format: double
description: Превышение/высота (метры)
wktPoint:
type: string
description: WKT Point (x
y: null
z): null
additionalProperties: false
GroundStationParams:
type: object
description: Параметры земной станции (ЗС)
properties:
stationId:
type: integer
format: int64
description: Идентификатор ЗС
coordinates:
$ref: '#/components/schemas/GroundStationCoordinates'
minAngleDeg:
type: number
format: double
description: Минимальный угол (градусы)
maxAngleDeg:
type: number
format: double
description: Максимальный угол (градусы)
retargetingTimeSec:
type: integer
format: int64
description: Время перенацеливания (секунды)
receiveIntervalSec:
type: integer
format: int64
description: Интервал между последовательными приемами (секунды)
required:
- stationId
- coordinates
- minAngleDeg
- maxAngleDeg
- retargetingTimeSec
- receiveIntervalSec
additionalProperties: false
GroundStationBanInterval:
type: object
description: Интервал запрета на работу с ЗС
properties:
stationId:
type: integer
format: int64
description: Идентификатор ЗС
begin:
type: string
format: date-time
description: Время начала интервала запрета
end:
type: string
format: date-time
description: Время конца интервала запрета
required:
- stationId
- begin
- end
additionalProperties: false
RadarStateConstraints:
type: object
description: Ограничения для локации (РСА) на уровне блока состояния
properties:
scanSarRouteMinDurationSec:
type: integer
format: int64
scanSarRouteMaxDurationSec:
type: integer
format: int64
stripMapRouteMinDurationSec:
type: integer
format: int64
stripMapRouteMaxDurationSec:
type: integer
format: int64
scanSarMaxModesPerOrbit:
type: integer
format: int32
scanSarMaxModesPerDay:
type: integer
format: int32
stripMapMaxModesPerOrbit:
type: integer
format: int32
stripMapMaxModesPerDay:
type: integer
format: int32
spotLightMaxModesPerOrbit:
type: integer
format: int32
spotLightMaxModesPerDay:
type: integer
format: int32
required:
- scanSarRouteMinDurationSec
- scanSarRouteMaxDurationSec
- stripMapRouteMinDurationSec
- stripMapRouteMaxDurationSec
- scanSarMaxModesPerOrbit
- scanSarMaxModesPerDay
- stripMapMaxModesPerOrbit
- stripMapMaxModesPerDay
- spotLightMaxModesPerOrbit
- spotLightMaxModesPerDay
additionalProperties: false
OpticsStateConstraints:
type: object
description: Ограничения для оптики на уровне блока состояния
properties:
pssCaptureAngleDeg:
type: number
format: double
mssCaptureAngleDeg:
type: number
format: double
mssMaxDurationPerOrbitSec:
type: integer
format: int64
mssMaxDurationPerDaySec:
type: integer
format: int64
pssMaxDurationPerOrbitSec:
type: integer
format: int64
pssMaxDurationPerDaySec:
type: integer
format: int64
jointMaxDurationPerOrbitSec:
type: integer
format: int64
jointMaxDurationPerDaySec:
type: integer
format: int64
required:
- pssCaptureAngleDeg
- mssCaptureAngleDeg
- mssMaxDurationPerOrbitSec
- mssMaxDurationPerDaySec
- pssMaxDurationPerOrbitSec
- pssMaxDurationPerDaySec
- jointMaxDurationPerOrbitSec
- jointMaxDurationPerDaySec
additionalProperties: false
SpacecraftStateBlock:
type: object
description: Блок состояния КА
properties:
spacecraftId:
type: integer
format: int64
description: Идентификатор КА
stationIds:
type: array
description: Перечень станций (идентификаторы ЗС), с которыми работает аппарат
items:
type: integer
format: int64
default: []
rollMinDeg:
type: number
format: double
rollMaxDeg:
type: number
format: double
pitchMinDeg:
type: number
format: double
pitchMaxDeg:
type: number
format: double
yawMinDeg:
type: number
format: double
yawMaxDeg:
type: number
format: double
imagingMaxDurationPerDaySec:
type: integer
format: int64
imagingMaxDurationPerOrbitSec:
type: integer
format: int64
downlinkMaxDurationPerDaySec:
type: integer
format: int64
downlinkMaxDurationPerOrbitSec:
type: integer
format: int64
imagingModesPerOrbit:
type: integer
format: int32
imagingModesPerDay:
type: integer
format: int32
downlinkModesPerOrbit:
type: integer
format: int32
downlinkModesPerDay:
type: integer
format: int32
imagingToImagingIntervalSec:
type: integer
format: int64
downlinkToDownlinkIntervalSec:
type: integer
format: int64
imagingToDownlinkIntervalSec:
type: integer
format: int64
downlinkToImagingIntervalSec:
type: integer
format: int64
minInterRouteIntervalSec:
type: integer
format: int64
radarConstraints:
$ref: '#/components/schemas/RadarStateConstraints'
opticsConstraints:
$ref: '#/components/schemas/OpticsStateConstraints'
required:
- spacecraftId
- rollMinDeg
- rollMaxDeg
- pitchMinDeg
- pitchMaxDeg
- yawMinDeg
- yawMaxDeg
- imagingMaxDurationPerDaySec
- imagingMaxDurationPerOrbitSec
- downlinkMaxDurationPerDaySec
- downlinkMaxDurationPerOrbitSec
- imagingModesPerOrbit
- imagingModesPerDay
- downlinkModesPerOrbit
- downlinkModesPerDay
- imagingToImagingIntervalSec
- downlinkToDownlinkIntervalSec
- imagingToDownlinkIntervalSec
- downlinkToImagingIntervalSec
- minInterRouteIntervalSec
- radarConstraints
- opticsConstraints
additionalProperties: false
PdcmEntry:
type: object
description: Запись ПДЦМ (позиция/скорость) на момент времени
properties:
time:
type: string
format: date-time
revolution:
type: integer
format: int64
vx:
type: number
format: double
vy:
type: number
format: double
vz:
type: number
format: double
x:
type: number
format: double
y:
type: number
format: double
z:
type: number
format: double
required:
- time
- revolution
- vx
- vy
- vz
- x
- y
- z
additionalProperties: false
PdcmInterval:
type: object
description: ПДЦМ на интервал (оперативный или программной орбиты)
properties:
spacecraftId:
type: integer
format: int64
begin:
type: string
format: date-time
end:
type: string
format: date-time
entries:
type: array
items:
$ref: '#/components/schemas/PdcmEntry'
required:
- spacecraftId
- begin
- end
- entries
additionalProperties: false
UploadSchedule:
type: object
description: График закладки (основная/корректирующая + интервал планирования)
properties:
spacecraftId:
type: integer
format: int64
mainUploadAt:
type: string
format: date-time
correctiveUploadAt:
type: string
format: date-time
planningBegin:
type: string
format: date-time
planningEnd:
type: string
format: date-time
required:
- spacecraftId
- mainUploadAt
- correctiveUploadAt
- planningBegin
- planningEnd
additionalProperties: false
SpacecraftInitialConditions:
type: object
description: Начальные условия КА для расчётов (состояние в момент epoch).
properties:
spacecraftId:
type: integer
format: int64
description: Идентификатор КА.
epoch:
type: string
format: date-time
description: Момент времени, для которого заданы начальные условия (UTC).
frame:
type: string
description: Система координат/фрейм (например, ECI).
default: ECI
positionMeters:
type: array
description: Вектор положения [x,y,z] в метрах в указанной системе координат.
items:
type: number
format: double
minItems: 3
maxItems: 3
velocityMetersPerSec:
type: array
description: Вектор скорости [vx,vy,vz] в м/с в указанной системе координат.
items:
type: number
format: double
minItems: 3
maxItems: 3
source:
type: string
nullable: true
description: Источник/поставщик расчёта начальных условий (опционально).
version:
type: string
nullable: true
description: Версия/ревизия набора начальных условий (опционально).
required:
- spacecraftId
- epoch
- positionMeters
- velocityMetersPerSec
additionalProperties: false
ChangeType:
type: string
enum:
- CREATED
- UPDATED
- DELETED
description: Тип изменения
EntityType:
type: string
description: Тип сущности, которая изменилась
enum:
- GROUND_STATION
- GROUND_STATION_BAN_INTERVALS
- SPACECRAFT_STATE_BLOCK
- SPACECRAFT_NU
- UPLOAD_SCHEDULE
- SPACECRAFT_WORKPLAN
- CONTROL_TIME
ChangeEvent:
type: object
description: Уведомление о факте изменения данных у поставщика. Сами данные
передаются/запрашиваются отдельно.
required:
- eventId
- occurredAt
- entityType
- entityIds
- changeType
properties:
eventId:
type: string
format: uuid
description: Уникальный идентификатор события
occurredAt:
type: string
format: date-time
description: Время изменения у поставщика (UTC/ISO 8601).
entityType:
$ref: '#/components/schemas/EntityType'
entityIds:
type: array
minItems: 1
items:
type: integer
format: int64
description: Идентификаторы сущностей, затронутых изменением
changeType:
$ref: '#/components/schemas/ChangeType'
effectiveFrom:
type: string
format: date-time
nullable: true
description: (Опционально) начало интервала влияния
effectiveTo:
type: string
format: date-time
nullable: true
description: (Опционально) конец интервала влияния
version:
type: string
nullable: true
description: (Опционально) версия/ревизия данных у поставщика
reason:
type: string
nullable: true
description: (Опционально) пояснение причины изменения
correlationId:
type: string
nullable: true
description: (Опционально) идентификатор корреляции
source:
type: string
nullable: true
description: (Опционально) идентификатор поставщика/источника
additionalProperties: false
SpacecraftControlTimeEvent:
type: object
description: Сообщение о приходе (или обновлении) графика управления КА. Все
времена — LocalDateTime (без часового пояса).
required:
- spacecraftId
- mainUploadAt
- correctionUploadAt
- planningBegin
- planningEnd
properties:
spacecraftId:
type: integer
format: int64
description: Идентификатор КА.
mainUploadAt:
type: string
format: date-time
description: Дата-время основной закладки (LocalDateTime, без offset).
correctionUploadAt:
type: string
format: date-time
description: Дата-время корректирующей закладки (LocalDateTime, без offset).
planningBegin:
type: string
format: date-time
description: Начало интервала планирования (LocalDateTime, без offset).
planningEnd:
type: string
format: date-time
description: Конец интервала планирования (LocalDateTime, без offset).
additionalProperties: false
GroundStationChangeEvent:
type: object
description: Уведомление о факте изменения данных земной станции (без передачи
данных).
required:
- eventId
- occurredAt
- changeType
- stationId
properties:
eventId:
type: string
format: uuid
description: Уникальный идентификатор события
occurredAt:
type: string
format: date-time
description: Время изменения у поставщика (UTC/ISO 8601).
changeType:
$ref: '#/components/schemas/ChangeType'
stationId:
type: integer
format: int64
description: Идентификатор земной станции.
version:
type: string
nullable: true
description: (Опционально) версия/ревизия данных у поставщика
reason:
type: string
nullable: true
description: (Опционально) пояснение причины изменения
correlationId:
type: string
nullable: true
description: (Опционально) идентификатор корреляции
source:
type: string
nullable: true
description: (Опционально) идентификатор поставщика/источника
additionalProperties: false
SpacecraftChangeEvent:
type: object
description: Уведомление о факте изменения данных КА (без передачи данных).
required:
- eventId
- occurredAt
- changeType
- spacecraftId
properties:
eventId:
type: string
format: uuid
description: Уникальный идентификатор события
occurredAt:
type: string
format: date-time
description: Время изменения у поставщика (UTC/ISO 8601).
changeType:
$ref: '#/components/schemas/ChangeType'
spacecraftId:
type: integer
format: int64
description: Идентификатор космического аппарата.
version:
type: string
nullable: true
description: (Опционально) версия/ревизия данных у поставщика
reason:
type: string
nullable: true
description: (Опционально) пояснение причины изменения
correlationId:
type: string
nullable: true
description: (Опционально) идентификатор корреляции
source:
type: string
nullable: true
description: (Опционально) идентификатор поставщика/источника
additionalProperties: false
GroundStationChangedPayload:
type: object
description: Факт изменения параметров земной станции. Payload содержит только
идентификатор станции.
required:
- stationId
properties:
stationId:
type: integer
format: int64
description: Идентификатор земной станции.
additionalProperties: false
SpacecraftChangedPayload:
type: object
description: Факт изменения параметров КА/НУ/БЛС. Payload содержит только идентификатор
аппарата.
required:
- spacecraftId
properties:
spacecraftId:
type: integer
format: int64
description: Идентификатор космического аппарата.
additionalProperties: false