A Rest API használatához minimum 8.0.3-as verziójú Webgalambra van szükség!
A korábbi verziójú Webgalamb API-tól eltérően már nincs szükség adatbázis kapcsolódási adatokra, helyette a Webgalambodban a "Beállítások" menüpont alján a REST API résznél lévő 3 adat segítségével hozható létre kapcsolat a Webgalambbal.
Az API, különböző programozási nyelvű kiegészítők készítésére alkalmas, szakszerű használatához a használt programozási nyelv ismerete feltétlenül szükséges. A súgóban a csak php alapú megoldásokra térünk ki.
Amit fontos tudni
- A csoportok mindegyike saját azonosítóval rendelkezik, ami egy szám.
- A feliratkozók minden feliratkozás alkalmával új feliratkozóként kerülnek rögzítésre, ezen okból ha egy cím többször is szerepel a Webgalambban, akkor mindegyik saját feliratkozói azonosítóval rendelkezik.
Mintafájlok letöltése
Laravel-hez készült minta controller: letöltöm
php api class és minta: letöltöm
Kezdeti lépések
Minden kéréshez az alábbi inicializációs részre van szükség.
Az API használatához szükséges adatokat a Webgalambodban a "Beállítások" menüpont alján a REST API résznél találod.
1 | require_once ( 'restclient.wg.class.php' ); |
3 | $api_url = 'https://www.honlapom.hu/webgalamb/rapi.php' ; |
4 | $token = 'c70a630116cze7b8' ; |
5 | $secret = 'zteyyzqwyjiwytnmzgywmwjmytg3mjk1ztjhzduxe44tq5ywi' ; |
7 | $api = new WebgalambRestClient( $api_url , $token , $secret ); |
A kérések elnevezései és a kapott válaszok felépítése megegyezik a korábbi Webgalamb API-nál megszokottal.
Hibák
Hiba esetén a visszatérési tömb része egy "error" nevű kulcs, melynek értéke tartalmazza a hiba okát szövegesen. A további elemek esetenként kisegítő információkat is tartalmaznak a hibával kapcsolatban.
Kapcsolat tesztelése
2 | $result = $api ->get( "ping" ); |
Eredményként vagy a hibaüzenetet vagy pedig success üzenetet ad vissza.
5 | [success] => string 'success' |
Új feliratkozók lekérdezése egy megadott dátumhoz viszonyítva
09 | $result = $api ->get( "GetNewSubscribers" , $params ); |
Az eredményként kapott tömb az új feliratkozók Webgalambos azonosítóját (kulcs) és csoportok nevét (érték) tartalmazza.
5 | [335] => string 'minta@mintakft.hu' |
6 | [336] => string 'example@example.com' |
7 | [337] => string 'example2@example.com' |
Módosult adatokkal rendelkező feliratkozók lekérdezése egy megadott dátumhoz viszonyítva
09 | $result = $api ->get( 'GetUpdatedSubscribers' , $params ); |
Az eredményként kapott tömb az új feliratkozók Webgalambos azonosítóját (kulcs) és csoportok nevét (érték) tartalmazza.
5 | [122] => string 'minta3@mintakft.hu' |
6 | [337] => string 'example3@example.com' |
Egy adott csoporthoz tartozó feliratkozók azonosítóinak lekérdezése
07 | $result = $api ->get( 'GetGroupUserIDs' , $params ); |
Az eredményként kapott tömb az új feliratkozók Webgalambos azonosítóját (érték) tartalmazza.
Adott e-mail címhez tartozó Webgalambos azonosítók lekérése
03 | 'mail' => 'example@example.com' , |
07 | $result = $api ->get( 'GetUserIDs' , $params ); |
Az eredményként kapott tömb a megadott e-mail cím összes előfordulásának azonosítóját (érték) tartalmazza.
Feliratkozó adatainak lekérése
Ha e-mail cím alapján kérsz le adatokat, akkor az összes ezen címhez tartozó feliratkozó adatát megkapod, csoporttól függetlenül. Az adataiban azonban szerepel a csoportazonosító is amelyhez tartozik, így könnyen be lehet azonosítani.
Ha a feliratkozó azonosítójával kérdezed le az adatokat, akkor a konkrét feliratkozó adatait kapod meg.
03 | 'subscriber' => 'example@example.com' |
09 | 'subscriber' => [337, 654] |
13 | $result = $api ->get( 'GetSubscriber' , $params ); |
Az eredményként kapott tömb a megadott e-mail címhez vagy Webgalambos azonosítóhoz tartozó összes előfordulásának adatait tartalmazza.
01 | Minta eredmény, több találat esetén: |
08 | [mail] => string 'example@example.com' |
11 | [ip] => string '11.22.33.44' |
12 | [datum] => string '2013-03-10' |
13 | [ipdatum] => string '2014-10-30 13:36:55' |
14 | [mdatum] => string '2014-10-31 08:38:34' |
15 | [verify_code] => string 'kaka96265ke71bf86777bkb1k45b5ad93ef7e5e6' |
20 | [Feliratkozási URL] => string '' |
21 | [Név] => string 'Teszt Elek' |
26 | [mail] => string 'example@example.com' |
29 | [ip] => string '55.66.77.88' |
30 | [datum] => string '2014-07-22' |
31 | [ipdatum] => string '2014-10-30 13:36:55' |
32 | [mdatum] => string '2014-10-31 08:38:34' |
33 | [verify_code] => string 'kaka962s5ke71bf86777bkb1k45b5ad93ef7e5e6' |
38 | [Feliratkozási URL] => string '' |
39 | [Név] => string 'Teszt Elek' |
43 | Minta eredmény, egy találat esetén: |
48 | [mail] => string 'example@example.com' |
51 | [ip] => string '11.22.33.44' |
52 | [datum] => string '2013-03-10' |
53 | [ipdatum] => string '2014-10-30 13:36:55' |
54 | [mdatum] => string '2014-10-31 08:38:34' |
55 | [verify_code] => string 'kaka96265ke71bf86777bkb1k45b5ad93ef7e5e6' |
60 | [Feliratkozási URL] => string '' |
61 | [Név] => string 'Teszt Elek' |
Csoportok lekérdezése
1 | $result = $api ->get( 'GetGroups' ); |
Az eredményül kapott tömb a csoportok Webgalambos azonosítóját (kulcs) és csoportok nevét (érték) tartalmazza.
5 | [1] => string 'Csoport 1' |
6 | [12] => string 'Csoport 2' |
7 | [32] => string 'Csoport 3' |
Új feliratkozó felvitele
A rögzítendő adatok az e-mail címet lászámítva opcionálisak, megadásuk nem kötelező.
05 | 'subscriber_data' => [ |
07 | 'mail' => 'example@example.com' , |
10 | 'datum' => '2013-03-10' , |
17 | 'Név' => 'Minta János' , |
18 | 'Telefonszám' => '06-70/123-4567' , |
19 | 'Cégnév' => 'Minta Kft.' |
24 | $result = $api ->post( 'InsertSubscriber' , $params ); |
Sikeres rögzítés esetén a Webgalambos azonosítóval tér vissza.
Feliratkozó adatainak módosítása
03 | 'subscriber_data' => [ |
04 | 'Telefonszám' => '06-1/123-4567' , |
08 | 'subscriber' => 'example2@example.com' , |
14 | $result = $api ->post( 'EditSubscriber' , $params ); |
Feliratkozó másolása
03 | 'subscriber_id' => 197, |
05 | 'target_groups' => [2, 33] |
09 | $result = $api ->post( 'CopySubscriber' , $params ); |
A visszatérési érték egy tömb a sikeres másolás adataival, ahol a kulcs a csoportazonosítót az érték pedig az adott csoportba történő másolás eredményét tartalmazza.
Alapból minden érték az újonnan létrejött feliratkozó adott csoportban használt Webgalambos azonosítóját jelzi.
Ha null az érték akkor nem sikerült a felvitel, már van ilyen e-mail cím a csoportban.
Feliratkozó(k) törlése
03 | 'subscriber' => 'example@example.com' , |
11 | $result = $api ->post( 'DeleteSubscriber' , $params ); |
A visszatérési érték egy tömb a sikeres törlések adataival, ahol a kulcsok a csoportazonosítókat, az értékek pedig a feliratkozó adott csoporthoz tartozó azonosítóját tartalmazza.
Ha nincs visszatérési érték akkor nem törölt senkit, a megadott paramétereknek nem felelt meg egyik feliratkozó sem.