API
Az API, php programozási nyelvű kiegészítők készítésére alkalmas, szakszerű használatához ezen programozási nyelv ismerete feltétlenül szükséges.
Az API letölthető ha ide kattintasz.
Használatával a Webgalambban tárolt feliratkozók adataihoz férhetsz hozzá az alábbiak szerint:
- Feliratkozó adatainak lekérdezése
- Feliratkozó adatainak módosítása
- Új feliratkozó felvitele
- Feliratkozó másolása másik csoport(ok)ba
- Feliratkozó törlése
Az API fájlnak nem feltétlenül szükséges a Webgalamb mappájában lennie, azonban mindenképpen el kell, hogy érje a Webgalamb által használt MySQL kiszolgálót.
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.
Kezdeti lépések
Első lépésként a Webgalamb adatbázis kapcsolatát kell felépíteni, majd meghívni a Webgalamb API-t.
1. A Webgalamb MySQL kapcsolati fájljának használatával:
// Webgalamb MySQL fájl meghívása (helyes útvonalat neked kell tudnod!) require_once('./files/wg5conf.php'); // Webgalamb 5 API meghívása require_once('wg5api.php'); $wg_api = new WG5_API($db_pre, $hostname_local, $database_local, $username_local, $password_local);
2. Helyileg megadott Webgalamb MySQL adatbázis adatokkal:
// Webgalambhoz használt MySQL adatbázis adatai $db_pre = 'wg5_'; // Webgalamb 5 prefix, alap telepítés esetén => wg5_ $hostname_local = "localhost"; // adatbázis kiszolgáló címe $database_local = "database"; // adatbázis neve $username_local = "username"; // adatbázis felhasználónév $password_local = "password"; // felhasználó jelszava // Webgalamb 5 API meghívása require_once('wg5api.php'); $wg_api = new WG5_API($db_pre, $hostname_local, $database_local, $username_local, $password_local);
Új feliratkozók lekérdezése egy megadott dátumhoz viszonyítva
// A kezdő időpont, amelyet követően feliratkozók érdekelnek. $datetime = "2014-03-07 09:40:01"; // Csoportazonosító, ha nulla értéket adsz meg akkor minden csoportra érvényes. $group_id = 0; // $result = $wg_api->GetNewSubscribers($datetime, $group_id); // Eredmény kiírása, feldolgozása. print_r($result);
Az eredményként kapott tömb az új feliratkozók Webgalambos azonosítóját (kulcs) és csoportok nevét (érték) tartalmazza.
Minta eredmény: Array ( [335] => minta@mintakft.hu [336] => example@example.com [337] => example2@example.com )
Módosult adatokkal rendelkező feliratkozók lekérdezése egy megadott dátumhoz viszonyítva
// A kezdő időpont, amelyet követően feliratkozók érdekelnek. $datetime = "2014-03-07 09:30:01"; // Csoportazonosító, ha nem adsz meg értéket akkor minden csoportra érvényes. $group_id = false; // $result = $wg_api->GetUpdatedSubscribers($datetime, $group_id); // Eredmény kiírása, feldolgozása. print_r($result);
Az eredményként kapott tömb az új feliratkozók Webgalambos azonosítóját (kulcs) és csoportok nevét (érték) tartalmazza.
Minta eredmény: Array ( [122] => minta3@mintakft.hu [337] => example3@example.com )
Egy adott csoporthoz tartozó feliratkozók azonosítóinak lekérdezése
// Csoportazonosító megadása. $group_id = 1; // $result = $wg_api->GetGroupUserIDs($group_id); // Eredmény kiírása, feldolgozása. print_r($result);
Az eredményként kapott tömb az új feliratkozók Webgalambos azonosítóját (érték) tartalmazza.
Minta eredmény: Array ( [0] => 337 [1] => 276 [2] => 275 [3] => 277 [4] => 278 [5] => 279 )
Adott e-mail címhez tartozó Webgalambos azonosítók lekérése
// Feliratkozói e-mail cím. $subscriber_mail = 'teszt@webgalamb.hu'; // $result = $wg_api->GetUserIDs($subscriber_mail); // Eredmény kiírása, feldolgozása. print_r($result);
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.
Minta eredmény: Array ( [0] => 275 [0] => 645 [0] => 1244 )
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.
// Feliratkozó rögzített e-mail címe (egyszerű változó) $subscriber_eid = 'example2@example.com'; // Feliratkozó Webgalambos azonosítója (tömb) $subscriber_eid = array(337, 654); // $result = $wg_api->GetSubscriber($subscriber_eid); // Eredmény kiírása, feldolgozása. print_r($result);
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.
Minta eredmény: Array ( [0] => Array ( [mail] => example@example.com [mail_id] => 9 [nmail] => [omail] => [ip] => 11.22.33.44 [datum] => 2013-03-10 [ipdatum] => 2014-10-30 13:36:55 [mdatum] => 2014-10-31 08:38:34 [verify_code] => kaka96265ke71bf86777bkb1k45b5ad93ef7e5e6 [active] => 1 [g] => 1 [a] => 1 [bounce] => 0 [am] => 0 [id] => 337 [Feliratkozási URL] => [Név] => Teszt Elek ) [1] => Array ( [mail] => example@example.com [mail_id] => 9 [nmail] => [omail] => [ip] => 55.66.77.88 [datum] => 2014-07-22 [ipdatum] => 2014-10-30 13:36:55 [mdatum] => 2014-10-31 08:38:34 [verify_code] => kaka962s5ke71bf86777bkb1k45b5ad93ef7e5e6 [active] => 1 [g] => 2 [a] => 1 [bounce] => 0 [am] => 0 [id] => 654 [Feliratkozási URL] => [Név] => Teszt Elek ) )
Csoportok lekérdezése
$result = $wg_api->GetGroups(); // Eredmény kiírása, feldolgozása. print_r($result);
Az eredményül kapott tömb a csoportok Webgalambos azonosítóját (kulcs) és csoportok nevét (érték) tartalmazza.
Minta eredmény: Array ( [1] => Csoport 1 [12] => Csoport 2 [32] => 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ő.
// Rögzítendő adatok. $subscriber_data = array ( // E-mail cím 'mail' => 'example2@example.com', // Feliratkozási dátum, ha nincs megadva akkor az aktuális dátum kerül be. 'datum' => '2013-03-10', // Státusz: 1 -> aktív, 0 -> inaktív, 2 -> visszapattant // Ha nincs megadva akkor aktív státusszal kerül be 'active' => 1, 'Név' => 'Minta János', 'Telefonszám' => '06-70/123-4567', 'Cégnév' => 'Minta Kft.' ); // A feliratkozási csoport csoportazonosítója. $group_id = 1; // $result = $wg_api->InsertSubscriber($subscriber_data, $group_id); // Eredmény kiírása, feldolgozása. echo $result;
Sikeres rögzítés esetén a Webgalambos azonosítóval tér vissza.
ha -1 a visszatérő érték akkor nem sikerült a felvitel, már van ilyen e-mail cím a csoportban,
ha -2 a visszatérő érték akkor pedig nem létező csoportba próbáltál feliratkoztatni,
ha -3 a visszatérő érték akkor hibás az e-mail cím.
Feliratkozó adatainak módosítása
// módosítandó adatok $subscriber_data = array ( 'Telefonszám' => '06-1/123-4567', 'Név' => 'Teszt Elek' ); // Feliratkozó rögzített e-mail címe vagy Webgalambos azonosítója $subscriber_eid = 'example@example.com'; // Csoportazonosító (kötelező) $group_id = 1; // $result = $wg_api->EditSubscriber($subscriber_data, $subscriber_eid, $group_id); // Eredmény kiírása, feldolgozása. if($result > 0) { echo "Sikeres adatmódosítás"; } elseif($result == -2) { echo "Hiba: nem létező csoport"; } elseif($result == -3) { echo "Hiba: nem létező feliratkozó"; }
Visszatérési érték:
1 -> sikerült az adatmódosítás
-2 -> nem létező csoportot adtál meg,
-3 -> nem létező feliratkozót akartál módosítani.
Feliratkozó másolása
// Feliratkozó Webgalambos azonosítója $subscriber_id = 325; // A célcsoport(ok) azonosítói (legalább 1 kötelező!) $target_groups = array(2, 3); // $result = $wg_api->CopySubscriber($subscriber_id, $target_groups); // Eredmény kiírása, feldolgozása. print_r($result);
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 -1 az érték akkor nem sikerült a felvitel, már van ilyen e-mail cím a csoportban,
ha -2 akkor pedig nem létező csoportba próbáltál feliratkoztatni,
ha -3 hibás e-mail cím.
Minta eredmény: Array ( [2] => -3 [3] => 624 )
Feliratkozó(k) törlése
// Feliratkozó rögzített e-mail címe vagy Webgalambos azonosítója $subscriber_eid = 'example@example.com'; // Csoportazonosító(k), ha nem adsz meg értéket akkor minden csoportra érvényes. // Ha feliratkozó azonosításnál id-t használsz akkor ez a paraméter figyelmen kívül lesz hagyva! $group_ids = array(); // $result = $wg_api->DeleteSubscriber($subscriber_eid, $group_ids); // Eredmény kiírása, feldolgozása. print_r($result);
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.
Minta eredmény: Array ( [2] => 126 [3] => 264 )