Login-Signout-v1

A Barion wikiből
  • Tervezet
  • Üzlet
  • Informatika
  • Pénzügy
  • Jog
  • 99%
  • Online elfogadó
  • Mobil elfogadó
  • Pénztárgép
  • Feltöltés
  • Piactér
  • Nonprofit
  • Parkolas

Leiratkozás üzenetküldő szolgáltatásokról

POST /Login/Signout

Az alábbi API hívással a felhasználó leiratkozhat a Barion üzenetküldő szolgáltatásairól. Ennek célja, hogy az adott felhasználó irányába a rendszer ne küldjön többet olyan típusú üzeneteket, melyekre előzőleg bejelentkezéskor feliratkozott. Ilyenek lehetnek a SignalR protokollon keresztül küldött azonnali üzenetek vagy a push notification szolgáltatás. Például elképzelhető, hogy a felhasználó nem kíván azonnali üzenetben értesülni az esetlegesen beérkező tranzakcióiról, de push notification típusú figyelmeztetéseket továbbra is szeretne kapni.

A Barion mobilalkalmazás ezt az API hívást használja a felhasználó üzenetekről történő leiratkoztatására, amikor a felhasználó kilép az alkalmazásból. Ezzel biztosítva, hogy mindig csak az aktuálisan bejelentkezett felhasználó kapjon az adott telefonra üzenetet.

Bemenet

Mező neve Mező típusa Kötelező Megkötések Alapértelmezett érték Leírás Formátum / Példa
UserName string Kötelező min. 6, max. 254 karakter nincs Az API hívás hívójának Barion azonosító e-mail címe. user@example.com
Password string Kötelező min. 8, max. 100 karakter nincs Az API hívás hívójának jelszava. EgySimaJelszo
UniqueDeviceId string Opcionális nincs nincs A kérést küldő kliens egyedi azonosítója. Pontos formátuma a készülék gyártójától függ. 4b1d68bd821734ef
HubNames List<string> Kötelező nincs nincs Azon üzenetküldő (SignalR) hub-ok nevei, amelyekről a kliens le szeretne iratkozni. Ez lehet BarionSignal vagy ParkingSignal "BarionSignal"
UnsubscribeFromRealtimeMessages Boolean Opcionális nincs nincs Leiratkozás minden valós idejű üzenetről, amit a Barion küldene. True
UnsubscribeFromPushNotifications Boolean Opcionális nincs nincs Leiratkozás minden push notification üzenetről. True
DeleteDevices Boolean Opcionális nincs nincs Igaz érték esetén kliens adatai eltávolításra kerülnek a Barion rendszerből kijelentkezés után. True

Az UnsubscribeFromRealtimeMessages és a UnsubscribeFromPushNotifications változók közül legalább az egyiket kötelező true-ra állítani. Amennyiben a DeleteDevices paramétert true-ra állítjuk. mindegy, hogy az UnsubscribeFromRealtimeMessages és a UnsubscribeFromPushNotifications változókban mit adunk meg, hiszen az összes kliensinformáció törölve lesz a Barion rendszeréből.

Kimenet

A kimenet minden hívás esetén hasonló felépítésű. Amennyiben sikeres hívás történt az ErrorList hibatömb üresen érkezik. Ha hiba történt, akkor a hibatömbben láthatóak ezek a hibák, de ilyen esetben is megkapjuk a többi kimeneti paramétert, csak üresen vagy pedig egy default alapértékkel.

Mező Típus Leírás Formátum / Példa
SignOutWasSuccessful bool Jelzi, hogy a leiratkozás sikeresen lezajlott-e. True
ErrorList Errorlist A kérés során esetlegesen felmerülő hibákat tartalmazó tömb. Sikeres hívás esetén ez a tömb üres. Errorlist

Hibakódok

Hiba kódja Hiba leírása
1 Nem megfelelő felhasználónév vagy jelszó.
999 Ismeretlen hiba történt a kérés feldolgozása során.
2001 A bemeneti paraméterek valamelyike nem felelt meg az előírásoknak. Ez a hiba annyiszor szerepel(het) a kimenetben, ahány mező hibás volt. Ez esetben az ErrorMessage mezőben található a konkrét hiba: a Validation Error után látható a hibás mező megnevezése, a Value pedig a hiba leírását tartalmazza.
7000 A hívó nem adta meg, mely szolgáltatásokról szeretne leiratkozni.
7001 Nincs olyan készülék a Barion rendszerében, amely ilyen azonosítóval, felhasználónévvel lenne regisztrálva a megadott HUB-okra.

Példák

Sikeres leiratkozás

Az alábbi példában sikeresen leiratkoztatjuk a felhasználót úgy, hogy mind az azonnali üzenetekről, mind a push notification üzenetekről leiratkozunk, de a készüléket nem töröltetjük a rendszerből.

Bemenet

{
    UserName: "user@example.com",
    Password: "EgySimaJelszo",
    UniqueDeviceId: "1a2b3c4d5e6f",
    HubNames: [ "BarionSignal" ],
    UnsubscribeFromRealtimeMessages: true,
    UnsubscribeFromPushNotifications: true,
    DeleteDevices: false
}

Kimenet

{
    "SignOutWasSuccessful": true,
    "ErrorList": []
}

Sikertelen leiratkozás

Hiányzó szolgáltatás paraméterek

Az alábbi példában a leiratkozás sikertelen, ugyanis nem adtuk meg, mely üzenetküldő szolgáltatásokról szeretnénk leiratkozni.

Bemenet

{
    UserName: "user@example.com",
    Password: "EgySimaJelszo",
    UniqueDeviceId: "1a2b3c4d5e6f"
}

Kimenet

{
    "SignOutWasSuccessful": false,
    "ErrorList": [
        {
            "ErrorNumber": 7000,
            "ErrorMessage": "There was no signout option defined!",
            "Details": null
        }
    ]
}

Nem létező készülék

Az alábbi példában a leiratkozás sikertelen, ugyanis egy olyan készülék azonosítóját adtuk meg, amely nem található meg a Barion rendszerben. Ez történik például, ha egy olyan nem bejelentkezett felhasználót szeretnénk kijelentkeztetni, aki a legutóbbi leiratkozás töröltette a készülékét a rendszerből.

Bemenet

{
    UserName: "user@example.com",
    Password: "EgySimaJelszo",
    UniqueDeviceId: "01234abcdef",
    HubNames: [ "BarionSignal" ],
    UnsubscribeFromRealtimeMessages: true,
    UnsubscribeFromPushNotifications: true,
    DeleteDevices: true
}

Kimenet

{
    "SignOutWasSuccessful": false,
    "ErrorList": [
        {
            "ErrorNumber": 7001,
            "ErrorMessage": "There is no device registered with the given parameters!",
            "Details": null
        }
    ]
}