Fel és leiratkozás
2022.11.02 — Posted by Webb & Flow
Előfeltételek
- Létre kell hozni az API kapcsolathoz egy Service account-ot
Minden API végpont hívásához a megfelelő service account adatait kell megadni az authentikációban, az email küldő API-val azonos módon.
Műveletek eredménye
Minden művelet egy numerikus válasz kóddal jelzi az eredményt:
- 0: SUCCESS: sikeres művelet
- 1: ERROR: rossz projekt
- 2: ERROR: invalid validáló kód (api esetén nem fordul elő)
- 3: ERROR: validálandó email cím nem létezik
- 4: ERROR: nincs email cím megadva
- 5: ERROR: nincs email list azonosító megadva, vagy az nem létezik
- 6: ERROR: invalid email cím
- 7: WARNING: részben sikeres művelet, de email validálás szükséges
- 8: SUCCESS: sikeres művelet, de át kell irányítani valahova
- 9: WARNING: részben sikeres művelet, de email validálás szükséges és át kell irányítani valahova
- 10: ERROR: robot check hiba (api esetén nem fordul elő)
- 11: ERROR: referer hiba (api esetén nem fordul elő)
- 20: ERROR: egyéb hiba (api esetén elvileg nem fordul elő)
- 30: ERROR: az email profil törlés alatt áll (nem lehet feliratkoztatni sehova, amíg az aktuális törlési folyamat nem végzett)
- 31: ERROR: az email lista törlés alatt áll (már nem lehet új email címet feliratkoztatni rá)
- 90: ERROR: már fel van iratkozva az adott email listára
- 99: ERROR: az email cím blacklist-re van rakva (vagy globálisan, vagy az adott email listán)
Email listára feliratkozás
Az email feliratkozás a POST https://app.forwardhub.com/client/emailList/{EMAILLISTID}/subscribe végponton érhető el, ahol az {EMAILLISTID} az az email lista, amire fel kell iratkoztatni az adott email címet.
A Request body tartalma:
{
"email":"user@example.com",
"source": "a",
"personalData": {
"data1":1234,
"data2":"data2value"
}
}
- email
- az email cím, amit fel kell iratkoztatni
- kötelező
- source
- a feliratkozás forrása
- opcionális
- lehetséges értékek:
- a
- api
- m (default)
- manual
- a
- personalData
- személyes adatok az email profilhoz
- opcionális
- key-value párosok
A feliratkozás során ugyanazok a folyamatok indulnak el a ForwardHub-ban, mintha ott iratkozna fel a felhasználó.
- source = m esetén azonos az űrlapon való feliratkozással
- amennyiben a ForwardHub még nem ismeri az email címet, vagy az még nics validálva, és az email lista megköveteli az email cím validálását, a feliratkozás nem történik meg automatikusan, hanem kap a felhasználó egy email-t, amiben egy, a ForwardHub-ra mutató validáló link van
- a validálás pillanatában az addig várakozó feliratkozások megtörténnek, így nem kell azokat újra küldeni
- már validált email cím esetén automatikusan feliratkozik az email listára
- amennyiben a ForwardHub még nem ismeri az email címet, vagy az még nics validálva, és az email lista megköveteli az email cím validálását, a feliratkozás nem történik meg automatikusan, hanem kap a felhasználó egy email-t, amiben egy, a ForwardHub-ra mutató validáló link van
- source = a esetén azonos a ForwardHubn felületen való importálással
- automatikusan validáltnak minősül az email cím és feliratkozik az email listára
Válasz:
{
"email": "user@example.com",
"emailListId": "5649205632696320",
"emailList": "list 3",
"result": 0,
"redirect": null
}
- email
- a kapott email cím
- emailListId
- a kapott email list azonosító
- emailList
- az email lista neve, amennyiben létezik
- result
- a művelet eredménye
- redirect
- amennyiben a felületen végezné el a műveletet és a beállítások szerint át kellene valahova irányítani, ebben a mezőben szerepel az url
Email cím validálás
Amennyiben szükséges, a felhasználó helyett lehet validálni az email címet a PATCH https://app.forwardhub.com/client/emailList/verify végponton.
A Request body tartalma:
{
"email":"user@example.com",
}
- email
- az email cím, amit validálni kell
- kötelező
Az API-n keresztüli validáláshoz nem szükséges az eredetileg generált validáló token-t küldeni.
Válasz:
{
"email": "user@example.com",
"result": 0
}
A művelet akkor is result = 0 választ ad, ha az email cím már validálva van.
Leiratkozás email listáról
Az email leiratkozás a DELETE https://app.forwardhub.com/client/emailList/{EMAILLISTID}/unsubscribe végponton érhető el.
Az url-ben query paraméterként a következő paramétereket lehet küldeni (mivel a DELETE műveletnek nem lehet request body-ja):
- email
- az email cím, amit le kell iratkoztatni
- kötelező
- source
- a leiratkozás forrása
- opcionális
- lehetséges értékek:
- a
- api
- m (default)
- manual
- a
A leiratkozás során ugyanazok a folyamatok indulnak el a ForwardHub-ban, mintha ott iratkozna le a felhasználó.
Válasz:
{
"email": "user@example.com",
"emailListId": "5649205632696320",
"emailList": "list 3",
"result": 0,
"redirect": null
}
- email
- a kapott email cím
- emailListId
- a kapott email list azonosító
- emailList
- az email lista neve, amennyiben létezik
- result
- a művelet eredménye
- redirect
- amennyiben a felületen végezné el a műveletet és a beállítások szerint át kellene valahova irányítani, ebben a mezőben szerepel az url
A művelet akkor is result = 0 választ ad, ha az email cím nincs feliratkozva az adott email listára.
Leiratkozás minden email listáról
A tömeges email leiratkozás a DELETE https://app.forwardhub.com/client/emailList/unsubscribeFromAll végponton érhető el.
Az url-ben query paraméterként a következő paramétereket lehet küldeni (mivel a DELETE műveletnek nem lehet request body-ja):
- email
- az email cím, amit le kell iratkoztatni
- kötelező
- source
- a leiratkozás forrása
- opcionális
- lehetséges értékek:
- a
- api
- m (default)
- manual
- a
A rendszer az összes olyan email listáról leiratkoztatja az email címet, amin aktuálisan fel van iratkozva.
A leiratkozás(ok) során ugyanazok a folyamatok indulnak el a ForwardHub-ban, mintha ott iratkozna le a felhasználó.
Válasz:
[
{
"email": "user@example.com",
"emailListId": "5642368648740864",
"emailList": "list 1",
"result": 0,
"redirect": null
},
{
"email": "user@example.com",
"emailListId": "5653784671813632",
"emailList": "list 2",
"result": 0,
"redirect": null
}
]
A válaszban egy listát ad vissza, ahol egy elem ugyanaz, mint a leiratkozás API esetén, és az adott email listáról leiratkozás eredményét adja vissza.
Feliratkozások lekérése
Egy email cím feliratkozásait a GET https://app.forwardhub.com/client/emailList/subscriptions végponton lehet lekérni.
Az url-ben query paraméterként a következő paramétereket lehet küldeni (mivel a DELETE műveletnek nem lehet request body-ja):
- email
- az email cím, amit le kell iratkoztatni
- kötelező
- all
- 0 vagy 1 (default 0)
- 1 esetén az inaktív feliratkozások is látszódnak (azok az email listák, amikre korábban fel volt iratkozva, de már nincs)
Figyelem: amennyiben az adott email cím validálásra vár, és emiatt a feliratkozása(i) várakozási sorba került(ek), ez(ek) nem kérhetők le az API-ról ez a lista csak azokat az email listákat tartalmazza, amihez az adott email címnek köze volt, azokat nem, amikre soha nem volt még feliratkozva
Válasz:
[
{
"email": "user@example.com",
"emailListId": "5642368648740864",
"emailList": "list 1",
"startDate": "2021-05-04T10:51:33+00:00",
"endDate": null,
"active": 1
},
{
"email": "user@example.com",
"emailListId": "5643677540024320",
"emailList": "list 5",
"startDate": "2021-01-15T12:57:45+00:00",
"endDate": null,
"active": 1
},
{
"email": "user@example.com",
"emailListId": "5653784671813632",
"emailList": "list 2",
"startDate": "2020-09-02T12:02:45+00:00",
"endDate": null,
"active": 1
}
]
A válaszban egy lista található az email listákkal és a feliratkozás dátumaival. Egy elem struktúrája:
- email
- a kapott email cím
- emailListId
- az adott email lista azonosítója
- emailList
- az adott email lista neve, amennyiben létezik
- ha az értéke null, és nem aktív a feliratkozás, akkor az adott email lista már törölve lett
- startDate
- a feliratkozás ideje (ha többször fel és le iratkozott, akkor az utolsó ideje)
- endDate
- a leiratkozás ideje (ha többször fel és le iratkozott, akkor az utolsó ideje)
- null, ha aktív a feliratkozás
- active
- 1, ha aktív, 0, ha inaktív
Válasz, ha az inaktívak is le vannak kérve:
[
{
"email": "user@example.com",
"emailListId": "5629654941564928",
"emailList": null,
"startDate": "2020-08-04T10:15:44+00:00",
"endDate": "2020-08-25T14:37:58+00:00",
"active": 0
},
{
"email": "user@example.com",
"emailListId": "5642368648740864",
"emailList": "list 1",
"startDate": "2021-05-04T10:51:33+00:00",
"endDate": null,
"active": 1
},
{
"email": "user@example.com",
"emailListId": "5643677540024320",
"emailList": "list 5",
"startDate": "2021-01-15T12:57:45+00:00",
"endDate": null,
"active": 1
},
{
"email": "user@example.com",
"emailListId": "5649205632696320",
"emailList": "list 3",
"startDate": "2021-05-21T12:55:24+00:00",
"endDate": "2021-05-21T13:22:56+00:00",
"active": 0
},
{
"email": "user@example.com",
"emailListId": "5653784671813632",
"emailList": "list 2",
"startDate": "2020-09-02T12:02:45+00:00",
"endDate": null,
"active": 1
},
{
"email": "user@example.com",
"emailListId": "5680529164730368",
"emailList": null,
"startDate": "2020-08-07T14:13:30+00:00",
"endDate": "2020-08-25T14:45:16+00:00",
"active": 0
}
]