Értesítések és az OpenPlatform nyilvános végpontjai
Az indításon és az ellenőrzésen kívül az OpenPlatform néhány végpontot kínál az alkalmazásoknak és más rendszereknek. A controllers/verify.js, a controllers/api.js és a controllers/socket.js fájlokban vannak.
Értesítés küldése
Az ellenőrzés válasza tartalmazza a notify értéket, egy <platform url>/notify/?token=<checksum of user and application> alakú címet, ha a felhasználó elfogadja az értesítéseket. Az alkalmazás POST kérést küld rá az x-token fejléccel és egy JSON törzzsel:
| Mező | Jelentés |
|---|---|
body | az értesítés szövege |
path | az alkalmazáson belüli útvonal, amelyet az értesítés megnyit |
icon, color | opcionális: lecserélik az alkalmazás ikonját és színét |
Az x-token értéke az értesítési token, amelyet az OpenPlatform az adott felhasználóhoz és alkalmazáshoz levezet: az értesítési cím MD5 értéke az alkalmazás reqtoken értékével sózva, majd ennek az eredménynek az MD5 értéke az alkalmazás restoken értékével sózva (FUNC.makenotify a definitions/func.js fájlban). Mindkét titok ugyanaz, amelyet az alkalmazás az indításhoz megoszt (app regisztrálása).
Az OpenPlatform Invalid token választ ad, ha az ellenőrző összeg vagy a fejléc nem egyezik, és Not allowed notifications választ, ha a felhasználó vagy az alkalmazás nem fogadja el őket. Ellenőrzi az alkalmazás engedélyezett címeit is, és azt, hogy a felhasználó megerősített, engedélyezett és aktív. Ha minden rendben:
- eltárolja az értesítést (
tbl_notificationtábla), és növeli a felhasználó olvasatlan számlálóját; - frissíti a felhasználó portálon nyitott munkameneteit, így a számláló azonnal megjelenik;
- közzéteszi a
Notifications.createeseményt TMS-en, ha a$tmsbeállítás be van kapcsolva; - visszaadja az értesítés azonosítóját.
Azoknak a felhasználóknak, akik offline vannak és olvasatlan értesítéseik vannak, egy szolgáltatási feladat e-mailes összefoglalót küld ("Unread notifications"), ha a levelezési beállítások meg vannak adva, felhasználónként legfeljebb háromnaponta egyszer (definitions/init.js).
A felhasználói API (egy token)
A GET /users/ JSON-ként adja vissza a platform csoportjait és felhasználóit. Le van tiltva, amíg az allow_token és a token beállítás nincs megadva. A hívó a tokent a token lekérdezési paraméterben vagy az x-token fejlécben küldi; az ismételt hibás próbálkozásokat blokkolja. A felhasználók titkok nélkül érkeznek: azonosító, hivatkozás, nyelv, nem, fotó (abszolút cím), név, e-mail, szín, beállítások, jelzők (sa, isdisabled, isinactive, isonline), dátumok és a csoportjaik azonosítói.
Kép feltöltése
A POST /upload/base64/ (legfeljebb 2 MB) egy JSON törzset fogad a fájlnévvel és a file mezővel data URI-ként, és csak JPEG-et. Bejelentkezett felhasználót vagy a servicetoken beállítás lekérdezési tokenjét igényli (hogy honnan jön ez a kulcs, lásd: beállítások és adatbázis). A kép a files fájltárba kerül, a válasz pedig a címe, /files/<id and checksum>.jpg; a cím csak az ellenőrző összeggel működik.
Több példány: a szinkronizációs socket
A SOCKET /sync/ OpenPlatform példányokat köt össze. Egy kliens akkor fogadható el, ha a sync beállítás be van kapcsolva, és a lekérdezés token értéke megegyezik a sync_token értékkel; bármely más klienst fél másodperccel a megnyitás után a 4001 kóddal lezár. A megerősített kliens üzeneteit továbbítja a többieknek, és amíg egy megerősített kliens újracsatlakozik, az üzenetek legfeljebb tíz másodpercig sorban állnak.