ForgeOpenPlatform
hu

OpenPlatform

Értesítések és az OpenPlatform nyilvános végpontjai

OpenPlatform · openplatform@5 openplatformnotificationsapitms

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
bodyaz értesítés szövege
pathaz alkalmazáson belüli útvonal, amelyet az értesítés megnyit
icon, coloropcioná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:

  1. eltárolja az értesítést (tbl_notification tábla), és növeli a felhasználó olvasatlan számlálóját;
  2. frissíti a felhasználó portálon nyitott munkameneteit, így a számláló azonnal megjelenik;
  3. közzéteszi a Notifications.create eseményt TMS-en, ha a $tms beállítás be van kapcsolva;
  4. 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.