Tovább a tartalomhoz
Dokumentáció ehhez: Echo
ENuptools.io
Markdown

Csoportok, szegmensek és mezők

Olvasáshoz Feliratkozók: megtekintés, íráshoz Feliratkozók: kezelés jog kell.

Metódus és útvonal Mit csinál
GET /groups Csoportok név szerint. filter[name] (a név tartalmazza), limit, cursor.
POST /groups Csoportot hoz létre: {"name": "..."}. 201.
PUT /groups/{id} Átnevez: {"name": "..."}. 200.
DELETE /groups/{id} Töröl (a feliratkozók megmaradnak). 204.
GET /groups/{id}/subscribers A csoport feliratkozói (Feliratkozók listázása).
POST /groups/{id}/import-subscribers Tömeges import a csoportba (Importálás API-val).

Csoport létrehozása

Terminál
curl -X POST "$ECHO_API/groups" \
-H "Authorization: Bearer $ECHO_TOKEN" -H "Content-Type: application/json" \
-d '{"name":"Webshop vásárlók"}'
{"data":{"id":"257e83a2-d55e-4a8c-b9a4-b3e939c151cc","name":"Webshop vásárlók","created_at":"2026-10-22T08:52:08.269421Z","subscribers":0,"total":0,"open_rate":0,"click_rate":0}}

Keresés név szerint

Terminál
curl -g -H "Authorization: Bearer $ECHO_TOKEN" "$ECHO_API/groups?filter[name]=VIP"
{"data":[{"id":"000d6529-0078-40d8-9c29-05cd541c4c2d","name":"VIP vásárlók","created_at":"2026-04-17T12:00:00Z","subscribers":466,"total":495,"open_rate":34.64,"click_rate":7.47,"timed_out":false}],"meta":{"next_cursor":null,"prev_cursor":null,"limit":25,"total":1}}
Kulcs Jelentés
subscribers Aktív tagok.
total Tagok bármilyen állapotban.
open_rate, click_rate A tagok átlagos aránya, százalékban.
timed_out Csak listában: true, ha a számolás feladta, ilyenkor a számok null értékűek.

Átnevezés és törlés

Terminál
curl -X PUT "$ECHO_API/groups/257e83a2-d55e-4a8c-b9a4-b3e939c151cc" \
-H "Authorization: Bearer $ECHO_TOKEN" -H "Content-Type: application/json" \
-d '{"name":"Webshop vásárlók 2026"}'
curl -X DELETE "$ECHO_API/groups/257e83a2-d55e-4a8c-b9a4-b3e939c151cc" -H "Authorization: Bearer $ECHO_TOKEN"

Foglalt név esetén a válasz 409 name_taken. Azt a csoportot, amelyet szegmens, kampány vagy munkafolyamat használ, nem lehet törölni:

{"error":{"code":"in_use","message":"It's used by these segments: Visszatérő webshop vásárlók"}}

A csoport törlése nem küld subscriber.removed_from_group webhookeseményt a tagjairól.

A szegmensek mentett szűrők. A feltételeiket a felületen szerkeszted; az API olvassa, átnevezi és törli őket.

Metódus és útvonal Mit csinál
GET /segments Szegmensek név szerint. filter[name], limit, cursor.
GET /segments/{id}/subscribers A most megfelelő feliratkozók.
PUT /segments/{id} Átnevez: {"name": "..."}. Bármilyen más kulcs 422.
DELETE /segments/{id} Töröl. 409 in_use, ha kampány vagy munkafolyamat használja.
Terminál
curl -H "Authorization: Bearer $ECHO_TOKEN" "$ECHO_API/segments?limit=1"
{"data":[{"id":"026c692e-e106-4bb6-b971-78757cb3fd02","name":"Aktív olvasók (30 nap)","rules":{"version":1,"groups":[[{"type":"email_actions","op":"opened_or_clicked","amount":30}]]},"subscribers":2428,"open_rate":52.88,"click_rate":11.32,"counted_at":"2026-10-22T05:16:28.536739Z","created_at":"2026-05-12T08:00:00Z","updated_at":"2026-05-15T08:00:00Z","timed_out":false}],"meta":{"next_cursor":"bzox","prev_cursor":null,"limit":1,"total":6}}

A subscribers, az open_rate és a click_rate az utolsó számolásból (counted_at) jön; a timed_out értéke true, ha az utolsó számolás feladta, és a számok régebbiek. A rules a szegmens feltételrendszere úgy, ahogy a felület tárolja: csak olvasd.

Terminál
curl -X PUT "$ECHO_API/segments/6010f9ca-331d-4c81-a3ab-1ed48a62a12b" \
-H "Authorization: Bearer $ECHO_TOKEN" -H "Content-Type: application/json" \
-d '{"name":"Visszatérő webshop vásárlók"}'
{"data":{"id":"6010f9ca-331d-4c81-a3ab-1ed48a62a12b","name":"Visszatérő webshop vásárlók","rules":{"version":1,"groups":[[{"type":"groups","op":"belongs_to","values":["257e83a2-d55e-4a8c-b9a4-b3e939c151cc"]}]]},"subscribers":2,"open_rate":0,"click_rate":0,"counted_at":"2026-10-22T08:52:10.230434Z","created_at":"2026-10-22T08:52:10.217956Z","updated_at":"2026-10-22T08:52:10.234278Z","timed_out":false}}

A mezők a feliratkozók adatait tárolják. A beépített mezők (email, name, last_name, company, country, city, phone, state, zip) mindig megvannak, a saját mezőket munkaterületenként veszed fel. A feliratkozók törzsében a mező key értékét használod.

Metódus és útvonal Mit csinál
GET /fields Előbb a beépített, aztán a saját mezők. Nincs lapozás.
POST /fields Saját mezőt hoz létre: {"name": "...", "type": "text" | "number" | "date"}. 201.
PUT /fields/{key} Átnevez: {"name": "..."}. A kulcs és a címke marad.
DELETE /fields/{key} Törli a saját mezőt és az értékét minden feliratkozónál. 204.
Terminál
curl -H "Authorization: Bearer $ECHO_TOKEN" "$ECHO_API/fields"
{"data":[{"key":"email","name":"Email","type":"text","builtin":true,"tag":"{$email}","created_at":null},{"key":"name","name":"Name","type":"text","builtin":true,"tag":"{$name}","created_at":null},{"key":"last_name","name":"Last name","type":"text","builtin":true,"tag":"{$last_name}","created_at":null},{"key":"company","name":"Company","type":"text","builtin":true,"tag":"{$company}","created_at":null},{"key":"country","name":"Country","type":"text","builtin":true,"tag":"{$country}","created_at":null},{"key":"city","name":"City","type":"text","builtin":true,"tag":"{$city}","created_at":null},{"key":"phone","name":"Phone","type":"text","builtin":true,"tag":"{$phone}","created_at":null},{"key":"state","name":"State","type":"text","builtin":true,"tag":"{$state}","created_at":null},{"key":"zip","name":"Zip","type":"text","builtin":true,"tag":"{$zip}","created_at":null},{"key":"szuletesnap","name":"Születésnap","type":"date","builtin":false,"tag":"{$szuletesnap}","created_at":"2026-04-16T06:55:00Z"},{"key":"rendelesek_szama","name":"Rendelések száma","type":"number","builtin":false,"tag":"{$rendelesek_szama}","created_at":"2026-04-16T06:55:00Z"}]}

(A válasz rövidítve: a demó munkaterületnek van még néhány saját mezője.)

Saját mező létrehozása, átnevezése, törlése

Terminál
curl -X POST "$ECHO_API/fields" \
-H "Authorization: Bearer $ECHO_TOKEN" -H "Content-Type: application/json" \
-d '{"name":"Kedvenc növény","type":"text"}'
{"data":{"key":"kedvenc_noveny","name":"Kedvenc növény","type":"text","builtin":false,"tag":"{$kedvenc_noveny}","created_at":"2026-10-22T08:52:10.268043Z"}}

A kulcs a névből készül (kisbetűk, ékezetek nélkül, a szóközök helyett _). Ne magad állítsd elő, hanem olvasd ki a válaszból.

Terminál
curl -X PUT "$ECHO_API/fields/kedvenc_noveny" \
-H "Authorization: Bearer $ECHO_TOKEN" -H "Content-Type: application/json" \
-d '{"name":"Kedvenc virág"}'
curl -X DELETE "$ECHO_API/fields/kedvenc_noveny" -H "Authorization: Bearer $ECHO_TOKEN"
Hiba Mikor
409 name_taken Már van ilyen nevű mező.
409 builtin_field Beépített mezőt próbáltál átnevezni vagy törölni.
{"error":{"code":"builtin_field","message":"Default fields can't be renamed or deleted."}}

A GET /timezones az Echo által elfogadott IANA időzónaneveket listázza (például a kampány időzítéséhez). Bármely érvényes token hívhatja.

{"data":[{"id":"Africa/Abidjan"},{"id":"Africa/Accra"},{"id":"Africa/Addis_Ababa"}]}

(Rövidítve.)