Blacklist kezelő API végpontok
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.
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
- a rendszer minden olyan email listáról leiratkoztatja, amire aktuálisan fel van iratkozva
- 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
- amennyiben a kontextusban megadott email listára fel van iratkozva, a rendszer leiratkoztatja róla
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:
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"
]