Notiser och OpenPlatforms publika slutpunkter
Förutom starten och verifieringen har OpenPlatform några slutpunkter för applikationerna och för andra system. De finns i controllers/verify.js, controllers/api.js och controllers/socket.js.
Skicka en notis
Verifieringens svar innehåller notify, en adress på formen <platform url>/notify/?token=<checksum of user and application>, när användaren godtar notiser. Applikationen skickar en POST till den med headern x-token och en JSON-kropp:
| Fält | Betydelse |
|---|---|
body | notisens text |
path | sökvägen inuti applikationen som notisen öppnar |
icon, color | valfria: de ersätter applikationens ikon och färg |
Värdet för x-token är notistoken som OpenPlatform härleder för den användaren och applikationen: MD5 av notisadressen saltad med applikationens reqtoken, och MD5 av det resultatet saltad med dess restoken (FUNC.makenotify i definitions/func.js). Båda hemligheterna är desamma som applikationen delar för starten (registrera en app).
OpenPlatform svarar Invalid token när kontrollsumman eller headern inte stämmer, och Not allowed notifications när användaren eller applikationen inte godtar dem. Den kontrollerar också applikationens tillåtna adresser och att användaren är bekräftad, aktiverad och aktiv. När allt stämmer:
- lagrar den notisen (tabellen
tbl_notification) och ökar användarens räknare för olästa; - uppdaterar den användarens sessioner som är öppna i portalen, så att räknaren syns direkt;
- publicerar
Notifications.createvia TMS när inställningen$tmsär på; - returnerar notisens identifierare.
För användare som är offline och har olästa notiser skickar ett servicejobb en e-postsammanfattning ("Unread notifications") när e-postinställningarna är konfigurerade, högst en gång var tredje dag per användare (definitions/init.js).
Användar-API:et (en token)
GET /users/ returnerar plattformens grupper och användare som JSON. Det är inaktiverat tills inställningarna allow_token och token är satta. Anroparen skickar token som frågeparametern token eller som headern x-token; upprepade felaktiga försök blockeras. Användarna kommer utan hemligheter: identifierare, referens, språk, kön, foto (en absolut adress), namn, e-post, färg, inställningar, flaggor (sa, isdisabled, isinactive, isonline), datum och id:n för deras grupper.
Ladda upp en bild
POST /upload/base64/ (upp till 2 MB) accepterar en JSON-kropp med filnamnet och file som data-URI, och bara JPEG. Det kräver en inloggad användare eller frågetoken från inställningen servicetoken (se inställningar och databas för var den nyckeln kommer ifrån). Bilden lagras i fillagret files och svaret är dess adress, /files/<id and checksum>.jpg; adressen fungerar bara med kontrollsumman.
Flera instanser: synkroniseringssocketen
SOCKET /sync/ ansluter instanser av OpenPlatform. En klient accepteras när inställningen sync är på och frågans token är lika med sync_token; varje annan klient stängs med koden 4001 en halv sekund efter öppnandet. En bekräftad klients meddelanden vidarebefordras till de andra, och medan en bekräftad klient återansluter köas meddelandena i upp till tio sekunder.