Files
ScadaBridge/docs/former-api-specs
Joseph Doherty fad833e8d1 docs(former-api-specs): legacy MES alarm API — code-verified behaviour notes
Checked against the legacy mesapi source (MesNotifier/MesServices/Tag) plus ServiceStack/OrmLite
6.0.2 in a scratch harness:
- unhandled exceptions are an HTTP 500 ServiceStack ErrorResponse, not WasSuccessful=false
- no matching alarms = success with an empty list; failures don't short-circuit
- AckDT is null only for a null MXAccess value, not 'when unacked'
- tag type-conversion failures are silent (InAlarm false -> alarm drops out)
- simplealarmstatus SAPID edge cases: null never matches, "" matches, duplicates -> arbitrary TOP 1
- 'test' API keys hit the production BatchDB (TestDb routing never reaches MesNotifier)
- latent SetResult-after-timeout race in the MXAccess data-change callback
2026-09-28 09:25:10 -04:00
..

Former API Specs

Reference specifications for the predecessor / legacy APIs that ScadaBridge replaces or interoperates with. These are not ScadaBridge's own contracts — they are kept here as historical reference when porting integrations onto ScadaBridge's Inbound API (#14) and External System Gateway (#7), and for parity-checking behavior during cutover.

ScadaBridge's own component design docs live under docs/requirements/; this folder holds only the outgoing/legacy systems' specs.

Subfolders

  • mes/ — the legacy MES API (ServiceStack "WWSupport / APIServer", a.k.a. mesapi) that bridges MES ↔ AVEVA Wonderware via MXAccess. Source repo: ~/Desktop/mesapi.
  • dnc/ — the legacy DNC integration: DELMIA Apriso document/recipe download + Wonderware recipe-download notification (~/Desktop/delmiaintegration).

Drop the relevant spec documents into the matching subfolder.

ScadaBridge's own externally-called contracts, captured as deployed, live in ../api-specs/.