GettingStarted

Detta dokument beskriver grundläggande metoder i NordomaticApi och hur de används.

Document in english: Getting Started

Base url är kund specifik och ni får den tillsammans med inloggningsuppgifter. Ovanstående base url är för vår demoanläggning och används därför i det här dokumentet.

Dokumentation finns på {base url}/core/help och {base url}/trend/help.
Swagger finns på {base url}/core/swagger och {base url}/trend/swagger.

Bilagor

API: Två huvudområden

  1. Core

    • Dokumentation: {base url}/core/help
    • Exempel på endpoints: {base url}/core/api/login, {base url}/core/api/getonlinealarmsbytoken
    • Funktioner (exempel):
      • Alarms
        • GetOnlineAlarmsByToken
        • AcknowledgeAlarmsByToken
        • GetAlarmstypes
      • Security
        • Login
        • LoginWithMenu
        • Logout
      • Signals
        • RegisterSignalsByToken
        • UnregisterSignalsByToken
        • WriteSecuredSignalValuesByToken
        • WriteValueWithLogin
        • ReadSignalValueByToken
        • GetSignalDefinitions
        • GetUpdatesByToken
      • Tags
        • Taglist
  2. Trend

    • Dokumentation: {base url}/trend/help
    • Exempel på endpoints: {base url}/core/api/logvalues, {base url}/core/api/logtags
    • Funktioner:
      • GetLogTagsWithToken
      • LogValues

Walkthrough

För att använda API:t, inkludera alltid följande headers:

  • x-securityToken: Värdet från login
  • x-clientID: Samma guid som vid login
  • x-sessionID: Värdet från login

Steg för att hämta värden

Metoderna och egenskaper som behövs för de finns beskrivna i api som nämns ovan.

  1. Login
    Inloggningsuppgifter från Styrportalen.se kan inte användas här, det krävs separat inloggning
    • Generera en clientID, id ska vara en UUID (eller GUID)
      Id ska matcha följande regexp:
      /^[0-9A-F]{8}[-]?(?:[0-9A-F]{4}[-]?){3}[0-9A-F]{12}$/i
    • Använd metoden /Login
      Login returnerar sessionID och securityToken, spara dessa för denna session.
  2. RegisterSignalsByToken
    • Registrera signaler innan värden kan hämtas
      Om signalen/signalerna registrerades korrekt returneras värde 0 allt annat är felkoder.
  3. GetUpdatesByToken
    • Anropas kontinuerligt (max var 2 sekund) för att hämta uppdaterade värden som registrerats ovan
  4. UnRegisterSignalsByToken
    • Avregistrerar signaler
  5. WriteSecuredSignalValuesByToken
    • Skriv värden till signaler, den accepterar en array av signaler med värde.
  6. Keepalive
    • Skicka keepalive varje minut för att hålla sessionen aktiv

Flöde

Nedanstående flödeschema beskriver flödesschema för inloggning och keepalive

Keep Alive (var 60 sek)

Keep Alive

Get Updates (max var 2 sek)

Get Updates

Login

Register Signals

Unregister Signals

Write Secured Signal Values

Logout

  • Keep Alive: Skicka keepalive var 60'e sek för att förhindra timeout för session.

Payload för att skicka keepalive:
clientId är det genererade id't som användes i login

const params = {
  securityToken,
  values: [{
      Name: 'WFSInternal_UID2_WD',
      Value: `${clientId}\DefaultProject`
  }]
};

Engångskrivning

  • WriteValueWithLogin kräver ingen login eller registrering av signaler.
    Använd denna för enstaka skrivningar eftersom den är belagd med hårdare ratelimit än WriteSecuredSignalValuesByToken

Testsignaler