API

PredicGo tilbyr et read-only REST API som gir deg tilgang til å enkelt hente ut informasjon om ditt nødlys anlegg og integrere det i andre systemer. All data output sendes i JSON format.

Tilgang

For å bruke API-et må man ha en "API nøkkel" samt ID til nødlys anlegget. Da én bruker kan ha tilgang mot flere nødlys anlegg må dette spesifiseres i hver spørring.

Alle brukere får tildelt en unik API nøkkel som du finner på følgende vis:

  1. Logg inn på PredicGo
  2. Klikk på navnet ditt oppe i høyre hjørne og velg Innstillinger
  3. Klikk på Detaljer knappen
  4. Skriv ned din API nøkkel og ID til de anleggene du ønsker å hente ut info fra

Dersom du er kommet i fare for å publisere din API nøkkel offentlig kan du ta kontakt for å generere en ny.

Bilde


Spørringer

P.d.d. har vi følgende tilgjengelige spørringer:

Brukerinformasjon

Denne spørringen viser brukernavn, navn, anlegg og tilgangsnivå til den angitte API nøkkelen:

Syntax: https://admin.nodlys.no/api/v1/brukerinfo/<apinøkkel>

Eksempel: https://admin.nodlys.no/api/v1/brukerinfo/9c855cc95493b935396be100affc6069

Output:

{
   "email":"EksempelMail6769@example.com",
   "navn":"Test Testesen",
   "anlegg":"28",
   "tilgang":"3"
}

Anlegg status

Denne spørringen viser driftstatus for anlegget i tillegg til siste målte verdier for alle tilknyttede sentraler/moduler.

Syntax: https://admin.nodlys.no/api/v1/status/<anleggID>/<apinøkkel>

Eksempel: https://admin.nodlys.no/api/v1/status/28/9c855cc95493b935396be100affc6069

Output:

{
   "anlegg_kunde":"Nødlysteknikk AS",
   "anlegg_navn":"Testing",
   "anlegg_adresse":"",
   "anlegg_type":"CAN",
   "anlegg_status":"Feil registrert, se alarmer",
   "sentralmoduler":{
      "071":{
         "can_id":"071",
         "sentral":"1",
         "modul":"1",
         "nettspenning":"Nei",
         "batterispenning":"26.2V",
         "kurs1":"8.3A",
         "kurs2":"8.4A",
         "kurs3":"8.5A",
         "kurs4":"8.6A",
         "status":"Driftsfeil",
         "alarmer":[
            "Kurs 2 Utløst pga overbelastning",
            "Kurs 4 Utløst pga overbelastning",
            "Ingen internett kommunikasjon"
         ],
         "oppdatert_norsktid":"05.02.2020 13:11",
         "oppdatert_timestamp":"1580904669"
      }
   }
}

Armaturliste

Denne spørringen lister alle armaturene tilknyttet angitt anlegg.

Syntax: https://admin.nodlys.no/api/v1/armaturer/<anleggID>/<apinøkkel>

Eksempel: https://admin.nodlys.no/api/v1/armaturer/28/9c855cc95493b935396be100affc6069

Output:

[
   {
      "ID":"1010",
      "ID2":"",
      "Etg":"1",
      "Sentral":"1",
      "Modul":"1",
      "Kurs":"1",
      "Branncelle":"A",
      "Plassering":"Loft",
      "Notat":"",
      "Status":"",
      "Merke":"",
      "Montering":"Vegg"
   },
   {
      "ID":"1020",
      "ID2":"",
      "Etg":"1",
      "Sentral":"1",
      "Modul":"1",
      "Kurs":"1",
      "Branncelle":"B",
      "Plassering":"Toalett",
      "Notat":"",
      "Status":"",
      "Merke":"",
      "Montering":""
   },
   ...
]

Armaturliste i PDF format

Denne spørringen henter ut en URL du kan bruke for å laste ned armaturliste i pdf format. Armaturlisten merkes med dato samt nåværende revisjonsnummer (vedlikeholdt av Nødlysteknikk).

Syntax: https://admin.nodlys.no/api/v1/armaturliste/<anleggID>/<apinøkkel>

Eksempel: https://admin.nodlys.no/api/v1/armaturliste/28/9c855cc95493b935396be100affc6069

Output:

{
   "revisjon_dato":"16.03.2020 15:49",
   "revisjon_signatur":"Kim Eirik Kvassheim",
   "revisjon_nummer":"A3",
   "revisjon_notat":"",
   "url":"https:\/\/admin.nodlys.no\/pdf-armaturliste.php?anlegg_id=28&token=9460ff97c39b13563aecd0b0b082abcf"
}

Sentralmoduler

Denne spørringen lister alle sentralmoduler på anlegget og nåværende verdier for batterispenning, nettspenning og kurs strømmer. Dersom det er noe feil på modulen vil Alarmer array populeres med alle pågående feil.

Syntax: https://admin.nodlys.no/api/v1/sentraler/<anleggID>/<apinøkkel>

Eksempel: https://admin.nodlys.no/api/v1/sentraler/28/9c855cc95493b935396be100affc6069

Output:

[
   {
      "CAN":"071",
      "Sentral":"1",
      "Modul":"1",
      "Nettspenning":"Nei",
      "Batterispenning":"26.2V",
      "Kurs1":"8.3A",
      "Kurs2":"8.4A",
      "Kurs3":"8.5A",
      "Kurs4":"8.6A",
      "Batterihistorikk_labels":["2019-10-28 12:36:52","2019-10-28 12:32:51","2019-10-28 12:31:52"],
      "Batterihistorikk_values":[26.2,26.2,26.3],
      "Status":"Driftsfeil",
      "Alarmer":["Ingen internett kommunikasjon"],
      "Oppdatert_norsktid":"05.02.2020 14:11",
      "Oppdatert_timestamp":"1580904669"
   }
]

Merk at dataene Batterihistorikk_labels og Batterihistorikk_values er eksperimentelle og vil fjernes/endres i en senere versjon.

Driftstatus for modul

Denne spørringen viser driftstatus for angitt sentralmodul på anlegget.

Syntax: https://admin.nodlys.no/api/v1/driftstatus/<anleggID>/<canID>/<apinøkkel>

Eksempel: https://admin.nodlys.no/api/v1/driftstatus/28/071/9c855cc95493b935396be100affc6069

Output:

{
    "status":"OK",
    "oppdatert_nor":"24.10.2019 09:29",
    "oppdatert_timestamp":"1571902140"
}

Testrapport

Denne spørringen viser logg for alle testrapporter tilknyttet angitt anlegg og sentralmodul samt henter ut en URL du kan bruke for å laste ned testrapport i pdf format.

Syntax: https://admin.nodlys.no/api/v1/testrapport/<anleggID>/<canID>/<apinøkkel>

Eksempel: https://admin.nodlys.no/api/v1/testrapport/28/071/9c855cc95493b935396be100affc6069

Output:

[
   {
      "start":"18.10.2019 13:36",
      "slutt":"18.10.2019 13:49",
      "godkjent":"18.10.2019 16:07:19;Kim Eirik Kvassheim",
      "url":"https:\/\/admin.nodlys.no\/pdf-testrapport.php?test_id=7035&token=j0rp7e"
   },
   {
      "start":"17.10.2019 11:49",
      "slutt":"17.10.2019 12:02",
      "godkjent":"2",
      "url":"https:\/\/admin.nodlys.no\/pdf-testrapport.php?test_id=7032&token=j0rp7e"
   },
   {
      "start":"28.09.2019 13:38",
      "slutt":"28.09.2019 13:52",
      "godkjent":"01.10.2019 10:54:29;Kim Eirik Kvassheim",
      "url":"https:\/\/admin.nodlys.no\/pdf-testrapport.php?test_id=7000&token=j0rp7e"
   },
   {
      "start":"26.09.2019 13:38",
      "slutt":"26.09.2019 13:52",
      "godkjent":"26.09.2019 15:34:05;Kim Eirik Kvassheim",
      "url":"https:\/\/admin.nodlys.no\/pdf-testrapport.php?test_id=6991&token=j0rp7e"
   },
   ...
]

Sandbox

Du kan benytte vår API demonøkkel 9c855cc95493b935396be100affc6069 for å teste spørringer mot API fra deres system, eller direkte i nettleser for å se output eksempel:

GET https://admin.nodlys.no/api/v1/brukerinfo/9c855cc95493b935396be100affc6069
GET https://admin.nodlys.no/api/v1/status/28/9c855cc95493b935396be100affc6069
GET https://admin.nodlys.no/api/v1/driftstatus/28/071/9c855cc95493b935396be100affc6069
GET https://admin.nodlys.no/api/v1/testrapport/28/071/9c855cc95493b935396be100affc6069
GET https://admin.nodlys.no/api/v1/armaturliste/28/9c855cc95493b935396be100affc6069

HTTP return codes

Vårt API vil returnere en HTTP kode som samsvarer med spørreresultat. Vanligvis vil dette si HTTP 200, som betyr at spørring ble fullført uten feil. For å gjøre feilsøking/utvikling enklere for våres samarbeidspartnere har vi lagt inn støtte for noen HTTP return codes som dere kan teste ved å benytte spørringer under:

200 - OK

API vil returnere HTTP 200 dersom spørring ble fullført uten problemer.

GET https://admin.nodlys.no/api/v1/driftstatus/28/071/9c855cc95493b935396be100affc6069

403 - Forbidden

API vil returnere HTTP 403 dersom spørringen mangler API nøkkel eller angitt API nøkkel mangler tilgang mot anlegg ID.

GET https://admin.nodlys.no/api/v1/brukerinfo/1234567890

404 - Not Found

API vil returnere HTTP 404 dersom spørring ikke finner angitt objekt (f.eks. pga feil ID til sentralmodul).

GET https://admin.nodlys.no/api/v1/driftstatus/28/12345/9c855cc95493b935396be100affc6069

429 - Too Many Requests

API vil returnere HTTP 429 dersom din API nøkkel har overskredet dagens antall spørringer.

GET https://admin.nodlys.no/api/v1/dev-kvote/9c855cc95493b935396be100affc6069

500 - Internal Server Error

API vil returnere HTTP 500 dersom det har oppstått en ukjent feil på vår server.

GET https://admin.nodlys.no/api/v1/dev-error/9c855cc95493b935396be100affc6069