Blacklist kezelő API végpontok

2022.11.02 — Posted by Webb & Flow


Előfeltételek

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.

Alapok

A BlackList elmeket arra lehet használni, hogy az email címek email listára feliratkozását megakadályozzuk, ezzel megoldva, hogy semmiképp se kapjon az adott email cím EDM üzeneteket. A BlackList rendszert az API-n és a felületen sem lehet megkerülni, tehát ha egy email cím felkerül a BlackList-re, akkor az minden feliratkozási kísérletre hatással van.

A BlackList a rendszer email-ekre semmilyen hatással sincsenek, tehát egy BlackList-re rakott email címnek továbbra is lehet API-n vagy a felületről küldeni rendszer email-t.

A BlackList elemeket különböző kontextusokban lehet használni, ezek jelenleg:

  • projekt szintű
    • minden email listán letiltja a feliratkozást
  • email lista szintű
    • csak az adott email listán tiltja le a feliratkozást

A kontextust az API hívások során az url részeként kell küldeni, ezek a következők:

  • projekt szintű kontextus
    • glob
  • email lista szintű kontextus
    • el_LISTID
    • ahol LISTID az adott email lista azonosítója

BlackList elemek lekérése

Az elemeket a GET https://app.forwardhub.com/client/blackList/CONTEXT url-en lehet lekérni, ahol a CONTEXT az a kontextus, amihez tartozó elmeket akarjuk lekérni.

A lista lapozott, logikai működése megegyezik a lapozható email lista lekérő API működésével.

például:

GET https://app.forwardhub.com/client/blackList/glob visszaadja a project szintű elemeket:

{
   "items": [
       {
           "value": "user+15@example.com"
       },
       {
           "value": "user+32@example.com"
       },
       {
           "value": "user+34@example.com"
       },
       {
           "value": "user+test1@example.com"
       }
   ],
   "cursor": "CmASWmoUZ35hcGktZm9yd2FyZGh1Yi1jb21yKAsSB0NvbnRleHQiBGdsb2IMCxINQmxhY2tMaXN0SXRlbSIEc2dkcwyiARdkZXZfdGVzdDFfX3duZnRlc3RfX2NvbRgAIAA=",
   "hasNext": **false
**}

BlackList elem felvitele

Új elemet a PATCH https://app.forwardhub.com/client/blackList/CONTEXT végponton lehet felvinni.

Az értéket lehet query paraméterként vagy request body-ban küldeni. Az értéknek minden esetben egy valid email címnek kell lennie. Amennyiben egy olyan email cím van rögzítve, ami már fel van iratkozva egy vagy több email listára, a kontextustól függően a következő történik:

  • projekt szintű kontextus
    • a rendszer minden olyan email listáról leiratkoztatja, amire aktuálisan fel van iratkozva
      • amennyiben valamelyik email listában be van állítva a GoodBye email, azt nem kapja meg
  • email lista szintű kontextus
    • amennyiben a kontextusban megadott email listára fel van iratkozva, a rendszer leiratkoztatja róla
      • amennyiben a email listában be van állítva a GoodBye email, azt nem kapja meg

Például:

query string-ben küldve:

PATCH https://app.forwardhub.com/client/blackList/glob?value=user%2B17@example.com

request body-ban küldve:

PATCH https://app.forwardhub.com/client/blackList/glob

{
   "value": "user+17@example.com"
}

A válasz mindkét esetben:

[
   "user+17@example.com"
]

A visszaadott listában azok az elemek találhatók, amik fel lettek vive. Amennyiben nem szerepel ebben a listában a megadott elem, akkor az már korábban rögzítve volt az adott kontextusban.

BlackList elemek tömeges felvitele

Új elemeket tömegesen szintén a PATCH https://app.forwardhub.com/client/blackList/CONTEXT végponton lehet felvinni, de a value paraméter helyett a values paramétert kell használni, amiben az elemek listáját kell megadni.

Az egyes elemeknél elindított folyamat (email listáról leiratkoztatás) megegyezik az 1 elem rögzítésnél leírtakkal.

Az értéket lehet query paraméterként vagy request body-ban küldeni. Például:

query string-ben küldve:

PATCH https://app.forwardhub.com/client/blackList/glob?values[]=user%2B17@example.com&values[]=user%2B18@example.com

request body-ban küldve:

PATCH https://app.forwardhub.com/client/blackList/glob

{
   "values": [
      "user+17@example.com",
      "user+18@example.com"
   ]
}

A válasz mindkét esetben:

[
   "user+17@example.com",
   "user+18@example.com"
]

A visszaadott listában azok az elemek találhatók, amik fel lettek vive. Amennyiben nem szerepel ebben a listában a megadott elemek közül valamelyik, akkor az már korábban rögzítve volt az adott kontextusban.

BlackList elem törlése

Meglévő elemet a DELETE https://app.forwardhub.com/client/blackList/CONTEXT/ITEM végponton lehet törölni.

Nem kell semmilyen paramétert küldeni sem a query string-ben, sem a request body-ban. Mivel a törlendő elem egy email cím, amit az url részeként kell küldeni, érdemes urlencoded formában beépíteni az url-be.

Amikor egy elemet törlünk, semmilyen automatizmus nem indul el, például nem iratkoztatja vissza a rendszer az email címet a korábbi email listáira, a törlés csak engedélyezi, hogy a későbbiekben újra feliratkozhasson.

például:

DELETE https://app.forwardhub.com/client/blackList/glob/user%2B18@example.com

A válasz:

[
   "user+18@example.com"
]