events.address.md
ONLINE wss://events.address.md

Public PMR event hub events
.address.md

Живой, read-only поток государственных событий Приднестровья поверх NATS — отключения коммунальных услуг, позиции транспорта и новые законопроекты, доступные из любого клиента: браузер, сервер или CLI.

01 — О ПРОЕКТЕ

Гос-события,
без посредников

events.address.md — это публичный, доступный только на чтение хаб событий ПМР поверх NATS. Он нейтрально агрегирует публичные события Приднестровья из разных источников и публикует их в реальном времени. Сейчас доступны четыре потока: отключения коммунальных услуг (ЖКХ), онлайн-позиции общественного транспорта, новые законопроекты Верховного Совета и судебные дела — со временем могут добавляться и другие провайдеры.

Никакого бэкенда и опроса API: вы открываете одно NATS-соединение к wss://events.address.md, подписываетесь на нужные subject'ы и получаете события по мере их появления. Хаб ничего не хранит про вас — это чистый pub/sub транспорт.

Транспорт
NATS over WebSocket (wss)
Endpoint
wss://events.address.md
Доступ
анонимный · subscribe-only
Корень
subject pmr.>
Формат
JSON · UTF-8
Клиент
nats.ws 1.30.3
02 — ПОТОКИ И PAYLOAD'Ы

Четыре потока, один корень

Всё публикуется под корневым subject'ом pmr.>. Фильтруйте по поставщику, типу события, маршруту, борту или созыву — NATS-подписки делают это за вас.

SubjectPayloadОписание
pmr.utility.event.<supplier>.<event> UtilityEvent Отключения/возобновления ЖКХ (water/electricity, shutdown/resume)
pmr.transit.vehicle.<route>.<id> VehiclePosition Позиции общественного транспорта
pmr.vspmr.bill.new.<conv>.<number> BillAdded Новые законопроекты Верховного Совета ПМР
pmr.court.<court>.case.<event>.<id> CourtCase Новые судебные дела и изменения по ним (arbitration, new/changed)
UtilityEvent pmr.utility.event.water.shutdown
{
  "incidentId": "f7c1-…",
  "supplier": "water",
  "event": "shutdown",
  "organization": "ГУП Водоснабжение и Водоотведение",
  "description": "Отключение воды",
  "eventStart": "2026-06-21T10:00",
  "eventStop": "2026-06-21T18:00",
  "publishedAt": "2026-06-21T07:00:00Z",
  "source": { "messageId": 123, "chatId": -100123 },
  "addresses": [
    { "region": { "name": "…", "kladr": "…", "type": "…" },
      "city":   { "name": "…", "kladr": "…", "type": "…" },
      "street": { "name": "Пушкина", "kladr": "001-01.001", "type": "ул" },
      "houses": ["1", "3", "5-9"] }
  ]
}
VehiclePosition pmr.transit.vehicle.3.12345
{
  "vehicleId": "12345",
  "label": "А 884 ЕХ",
  "route": { "ref": "3", "type": "trolley_bus", "name": "…" },
  "lat": 46.84, "lng": 29.61,
  "bearing": 120.0, "speedKmh": 24.0,
  "ts": "2026-06-21T07:00:00Z",
  "source": "ocity", "stale": false
}
BillAdded pmr.vspmr.bill.new.VIII.123_1
{
  "number": "123/1",
  "conv": "VIII",
  "name": "О внесении изменений в Закон …",
  "url": "https://vspmr.org/legislation/bills/…",
  "author": "…",
  "committee": "…",
  "publishedAt": "2026-08-15T09:00:00Z"
}
CourtCase pmr.court.arbitration.case.changed.32564
{
  "court": "arbitration",
  "sourceId": "32564",
  "number": "702/26-11",
  "instance": "pervaya",
  "caseType": "Административные правоотношения",
  "title": "Дело об оспаривании решений органов…",
  "status": "Иск оставлен без движения",
  "detailsUrl": "https://arbitr.gospmr.org/…",
  "participants": [
    { "type": "claimant",
      "name": "ОАО «Техносервис»",
      "address": { "text": "г. Рыбница, ул. …" } },
    { "type": "respondent", "name": "ГА г. Рыбница" }
  ],
  "events": [
    { "status": "Иск оставлен без движения",
      "date": "2026-08-21T00:00:00Z" }
  ],
  "changes": [
    { "field": "status",
      "old": "Принято к производству",
      "new": "Иск оставлен без движения" }
  ],
  "publishedAt": "2026-08-21T02:14:00Z"
}

UtilityEvent — camelCase; eventStart/eventStop в формате yyyy-MM-dd'T'HH:mm, publishedAt — ISO-8601 instant; null-поля опускаются. VehiclePosition — снимок текущего положения борта общественного транспорта. BillAdded — новый законопроект, зарегистрированный в Верховном Совете; author/committee опускаются, если неизвестны. CourtCase — судебное дело: case.new — дело впервые замечено, case.changed — изменилось, и тогда массив changes перечисляет, что именно (статус, резолюция, новые участники). Публикуется только то, что открыто на сайте суда.

03 — КАК ПОДКЛЮЧИТЬСЯ

Подключиться можно
откуда угодно

Любой NATS-клиент — Go, Python, JS, nats CLI — говорит с хабом по защищённому WebSocket. Ниже два примера: универсальный CLI и браузерный nats.ws.

Возьмите NATS-клиент

Официальные SDK для Go, Python, JS и др., либо nats CLI — все умеют wss.

Соединение

Подключитесь к wss://events.address.md под анонимным пользователем public.

Подписка

Слушайте pmr.> целиком или сузьте до конкретного потока/маршрута.

Обработка

Получайте сообщения и читайте JSON-payload средствами вашего клиента.

Доступ: анонимный пользователь public, только подписка (subscribe-only) на корне pmr.>. Публиковать в хаб нельзя — это read-only поток.
универсальный nats CLI · любой клиент
# подписаться на все события
nats sub -s wss://events.address.md "pmr.>"
браузер nats.ws · ESM
<script type="module">
  import { connect, StringCodec } from "https://cdn.jsdelivr.net/npm/nats.ws@1.30.3/esm/nats.js";
  const nc = await connect({ servers: "wss://events.address.md" });
  const sc = StringCodec();
  const sub = nc.subscribe("pmr.>");
  for await (const m of sub) {
    console.log(m.subject, sc.decode(m.data));
  }
</script>
04 — LIVE

Эфир в реальном времени

connecting…