Feedy a autentizační služba

Feedy zabezpečené autentizační službou umožňují automatizovanou synchronizaci mezi webem/e-shopem a aplikací MAILservis.

URL adresy feedů je možné nastavit v aplikaci MAILservis. Aby bylo zaručeno, že k datům ve feedech má přístup jen aplikace MAILservis, přistupuje k nim aplikace MAILservis pomocí jednorázového tokenu s časovou platností. Token je nutné ověřit pomocí autentizační služby.



Autentizační služba Mailservis

PHP Demo ověření tokenu: Stáhnout (*.zip, 4kB) - Vzory naleznete také na konci této stránky.

Adresa pro ověření tokenu:


    https://mailservis.cz/auth/verify.php?check=TOKEN
            

– za TOKEN dosadit token, se kterým zažádá MAILservis

Platnost tokenu je 300 vteřin, token se vytváří při odesílání požadavku


Návratové hodnoty – pole JSON


tedy například v případě chyby:

    [{
           "err":1,
           "info":"invalid",
           "value":""
    }]

a v případě úspěchu:

    [{
           "err":0,
           "info":"ok",
           "value":"22"
    }]


Feed odběratelů

V aplikaci klienta je dostupná URL zobrazující následující JSON pole. Obsah je žádán aplikací MAILservis pomocí URL s jednorázovým tokenem v parametru GET.

Příklad URL:


    http://domenaklienta.cz/mailservis-address?token=TOKEN
    

Aplikace klienta ověří platnost tokenu a zobrazí požadovaná data

    [{
           "mail":"test@mailservis.cz",
           "subscribe":"1",
           "verified":"1",
           "client":"22",
           "replace":{
                "name": "Jan",
                "surname": "Novák",
                ....
                }
           "labels":[
                "Praha",
                "Velkoodběratel",
                ....
                ]
    },
    ....
    ]

Doporučujeme nastavit následující JSON pole s chybovým hlášením při neúspěšné validaci tokenu. Aplikace MAILservis může volat adresy bez tokenu pro ověření dostupnosti aplikace klienta.


        {"err":1,"info":"denied"}
    


Hodnoty očekáváné MAILservisem



Odhlášení odběratele

Tuto URL volá aplikace MAILservis pro předání informace o odhlášení odběratele. Například při odhlášení odběru pomocí odkazu na konci newsletteru. MAILservis předpokládá variantu, že se odběratel může v aplikaci klienta znovu přihlásit, a proto respektujte hodnotu z feedu odběratelů.


    https://domenaklienta.cz/mailservis-unsubscribe?token=TOKEN&unsubscribe=adresa-pro@odhlaseni.cz
             

Aplikace klienta si token ověří na http://mailservis.cz/auth/verify.php?check=TOKEN a adresu na své straně zaeviduje jako odhlášenou




Feed obsahu

V aplikaci klienta je dostupná URL zobrazující následující JSON pole. Obsah je žádán aplikací MAILservis pomocí URL s jednorázovým tokenem v parametru GET.

JSON s obsahem umožňuje přihlášenému uživateli v aplikaci MAILservis při vytváření šablony vybírat obsah z jeho webové aplikace, například poslední články z webu nebo produkty z e-shopu.

Příklad URL:


    http://domenaklienta.cz/mailservis-feed?token=TOKEN
    

Aplikace klienta ověří platnost tokenu a zobrazí požadovaná data

    { "data":
        [{
           "type":"Článek",
           "language":"1",
           "title":"Nadpis obsahu",
           "perex":"Perex obsahu",
           "date":"0000-00-00 00:00:00",
           "url":"Kompletní URL adresa obsahu",
           "image":"Kompletní URL adresa obrázku k obsahu",
        },
        ....
        ],
      "languages":
        { "1":
            {
               "id":"1",
               "name":"Česky",
               "code":"cs"
            },
           "2":
           { .... }
        ....
        }
    }
    

Doporučujeme nastavit následující JSON pole s chybovým hlášením při neúspěšné validaci tokenu. Aplikace MAILservis může volat adresy bez tokenu pro ověření dostupnosti aplikace klienta.


        {"err":1,"info":"denied"}
    


Hodnoty očekáváné v JSON poli „data“.


Hodnoty očekáváné v JSON poli "languages". Pokud nechcete používat rozdělen dle jazyka, odesílejte obsah v poli "data" se stejným id (0 či 1), v tomto poli pak jazyk libovolně, roletka nebude zobrazena.


Data z feedu jsou v aplikaci MAILservis zobrazeny následujícím způsobem:



PHP Vzory

Vzor php kódu pro ověření tokenu autentizační služby a odeslání feedu příjemců:


<?php

//tuto URL  volá MAILservis denně, ve 3h ráno

//ověření tokenu
$response=json_decode(file_get_contents("https://mailservis.cz/auth/verify.php?check=".$_GET["token"]), true);
if($response['err'] == 1){
    //v případě chyby spojení končí
    $arr["err"]=1;
    $arr["info"]="denied";
    die(json_encode($arr));

}
$client = $response["value"];


//příklad získání adres z aplikace klienta
$query = "SELECT * FROM tabUsers";
$data = mysql_query($query);

$out = array();

while ($zaznam = mysql_fetch_assoc($data)) {


    //formát pole které očekává MAILservis zpět
    unset($labels);
    $labels = array();
    $labels[] = "Zákazník";

    unset($replace);
    $replace = array();
    $replace["name"] = $zaznam["Jmeno"];
    $replace["surname"] = $zaznam["Prijmeni"];

    $tmp = array(
        "mail"=>$zaznam["Email"],
        "subscribe" => $zaznam["Odber"],
        "client" => $client,
        "replace" => $replace,
        "labels" => $labels );
    $out[] = $tmp;
}



//vypsání polí všech adres(a případných příznaků) ve formátu json, ukončení spojení
ob_clean();
echo json_encode($out);
die;
        


Vzor php kódu pro ověření tokenu autentizační služby a odhlášení příjemce:


<?php

// tuto URL volá MAILservis ve chvíli kdy se klient odhlásí

//ověření tokenu
$response=json_decode(file_get_contents("https://mailservis.cz/auth/verify.php?check=".$_GET["token"]), true);
if($response['err'] == 1){
    //v případě chyby spojení končí
    $arr["err"]=1;
    $arr["info"]="denied";
    die(json_encode($arr));

}
//získání adresy která se má odhlásit
$mail = $_GET["unsibscribe"];


//příklad evidence odhlášení v aplikaci klienta
$query = "UPDATE tabUsers SET odber = 0 where mail = '$mail' ";
mysql_query($query);


//odpověd do MAILservisu že odhlášení proběhlo v pořádku
ob_clean();
$arr["err"]=0;
$arr["info"]="done";
die(json_encode($arr));
die;
        


Vzor php kódu pro ověření tokenu autentizační služby a odeslání feedu obsahu:


<?php

//tuto URL volá MAILservis každých 20 minut

//ověření tokenu
$response=json_decode(file_get_contents("https://mailservis.cz/auth/verify.php?check=".$_GET["token"]), true);
if($response['err'] == 1){
    //v případě chyby spojení končí
    $arr["err"]=1;
    $arr["info"]="denied";
    die(json_encode($arr));

}
$client = $response["value"];


//příklad získání obsahu z aplikace klienta
$query = "SELECT * FROM tabObsah";
$data = mysql_query($query);

$out = array();

while ($zaznam = mysql_fetch_assoc($data)) {

    $tmp = array(
        "type"=>$zaznam["type"],
        "language" => $zaznam["language"],
        "title" => $zaznam["title"],
        "perex" => $zaznam["perex"],
        "date" => $zaznam["date"],
        "url" => $zaznam["url"],
        "image" => $zaznam["image"] );

    $out["data"][] = $tmp;
}


//příklad získání jazyků z aplikace klienta
$query = "SELECT * FROM tabMutace";
$data = mysql_query($query);

$out = array();

while ($zaznam = mysql_fetch_assoc($data)) {

    $tmp = array(
        "id"=>$zaznam["id"],
        "name" => $zaznam["name"],
        "code" => $zaznam["code"] );

    $out["languages"][$zaznam["id"]] = $tmp;
}



//vypsání polí všech adress(a případných příznaků) ve formátu json, ukončení spojení
ob_clean();
echo json_encode($out);
die;
        




NETservis s.r.o. © 2014 - 2019 NETservis.cz WebRedakce.cz Přístup pro klienty Nástroje pro vývojáře MAILservis