Integrácia GLS do e-shopu

GLS je populárna doručovacia služba pre balíky a to buď na odberné miesto balíkomatu, alebo na adresu. V nasledovnom článku sa budem venovať, akým spôsobom je možné GLS doručovanie automatizovať a prepojiť e-shop s touto službou. Využívanie služieb GLS je dané registráciou a získaním API kľúča.

Výber výdajného miesta na mape

GLS poskytuje mapový widget. Vďaka nemu si zákazník dokáže z existujúcich balíkoboxov a výdajných miest zvoliť miesto doručenia balíka. Ako je uvedené na stránkach www.glskurier.sk, tento spôsob má viacero výhod napríklad:

Pohodlné a efektívne riešenie pre zákazníkov
Viaceré možnosti platby
Informácia o otváracích hodinách
Oznamovanie dostupnosti

GLS mapa výberu

GLS mapa výberu

 

Dokumentácia k integrácii výberu výdajného miesta z mapy do vlastného projektu je na stránkach https://www.glskurier.sk/implementacia-gls-mapy Ako prvé sa celá knižnica pluginu inicializuje jednoduchým kusom kódu:

<script>
(function (w, d, i) {
var f = d.getElementsByTagName('script')[0], j = d.createElement('script');
j.async = true;
j.src = 'https://plugin.gls-slovakia.sk/v1/' + i;
f.parentNode.insertBefore(j, f);
})(window, document, '< API >');
</script>

Následne, napríklad v košíku, alebo v inej časti e-shopu, kde zvolíme typ dopravy pracujeme s objektom GlsWidget a metódou open a close pre jeho otvorenie a zatvorenie. V zmysle dokumentácie môže celý proces vyzerať nasledovne. Nižšie je priložený kompletná časť kódu, ktorá umožňuje otvorenie mapového okna, zatvorenie okna a po výbere konkrétneho výdajného miesta priradí údaje o tomto mieste do inputov formulára, s ktorým sa dá ďalej ľubovoľne pracovať.

<script>
(function (w, d, i) {
var f = d.getElementsByTagName('script')[0], j = d.createElement('script');
j.async = true;
j.src = 'https://plugin.gls-slovakia.sk/v1/' + i;
f.parentNode.insertBefore(j, f);
})(window, document, '< API >');
</script>

<p onclick="onClickCallback()">Otvorenie GLS mapy pre výber výdajného miesta</p>
<p onClick="onClickCallbackCloseGls()">Zatvorenie mapy</p>

<form method="post">
<p>
<input type="text" id="glsid"> ID výdajného miesta
</p>
<p>
<input type="text" id="glsid2"> ID výdajného miesta pre API
</p>
<p>
<input type="text" id="glsname"> Názov a adresa výdajného miesta
</p>
</form>

<script>
//zatvorenie mapového okna
function onClickCallbackCloseGls() {
GlsWidget.close();
}

//otvorenie mapového okna
function onClickCallback() {

GlsWidget.open(onPointSelect, {
lang: 'sk',
renderTo: '#my-plugin'
});

}

//výber výdajného miesta
function onPointSelect(point)
{
document.getElementById('glsid').value=point.id ; 
document.getElementById('glsid2').value =point.oldId ; 
document.getElementById('glsname').value=point.title+ ', adresa : ' + point.address+ ', PSČ : ' + point.postalcode; 
GlsWidget.close();
}
</script>

Týmto spôsobom síce zákazníkom uľahčíme výber spôsobu dopravy, kde si pomocou mapy pohodlne zvolí výdajné miesto, ale prevádzkovateľ obchodu (pokiaľ nemá tento spôsob automatizovaný) má ešte niekoľko povinností. Je potrebné prihlásiť sa na portál MyGLS - https://www.mygls.sk/Account/Login a tieto údaje (meno a priezvisko zákazníka, adresu doručenia, alebo ID výdajného miesta, mail, telefón, suma dobierky, variabilný symbol atď...) prepísať do systému a následne spracovať odoslanie balíka. Ako je jasne vidieť, ide o pomerne veľa údajov. Práve na minimalizovanie tejto práce je vhodné využiť API GLS.

PHP GLS API

GLS má v súčasnej dobe prepracované API rozhranie pre napojenie vlastných aplikácií ako e-shop na GLS. Pre používanie API rozhrania je potrebné podpísať zmluvu s GLS a prevádzkovať systém pre pravidelné odosielanie balíkov. Po podpise zmluvy obchodník získa prihlasovacie údaje do MyGLS. Pre pripojenie sa na API sú vyžadované: ID klienta, prihlasovacie meno a heslo.

MyGLS

Obrazovka portálu MyGLS

 

GLS API podporuje dva rôzne prístupy výmeny údajov: SOAP (XML) a REST (JSON, alebo XML). Pre základné spustenie API pripojenia stačí stiahnuť vzorové knižnice, ktoré GLS poskytuje. V praxi som najčastejšie využíva metódu PrepareLabels, teda vytvorenie položiek do štítkov čakajúcich na tlač. Práve tieto pridané položky je možné v prostredí MyGLS ešte dodatočne editovať (napríklad ak sa zákazník pomýli v nejakých údajoch). Pri nahrávaní údajov (meno, mail, číslo, fakturačné údaje a ďalšie osobné údaje) je potrebné správne zadefinovať službu z katalógu služieb od GLS.

$service1 = new StdClass();
$service1->Code = "PSD";
$parameter1 = new StdClass();
$parameter1->StringValue = < ID výdajného miesta >;
$service1->PSDParameter = $parameter1;

PSD parameter znamená Parcel Shop Delivery service, teda dodanie na výdajné miesto. Je potrebné zadať tzv. DropOffPoint, teda ID výdajného miesta. Tento identifikátor som opisoval vyššie pri popise mapového výberu, kde išlo o parameter glsid2 (ID výdajného miesta pre API). Naopak, ak chcem balík poslať na adresu, je potrebné zvoliť iné službu. V tomto prípade to bude služba FDS Flexible Delivery Service a FSS Flexible delivery Sms Service.

$service1 = new StdClass();
$service1->Code = "FDS";
$parameter1 = new StdClass();
$parameter1->StringValue = 'info@domena.sk';
$service1->FDSParameter = $parameter1;    

$service2 = new StdClass();
$service2->Code = "FSS";
$parameter2 = new StdClass();
$parameter2->StringValue = '+421910000000';
$service2->FSSParameter = $parameter2;

Ako vidíme, služby požadujú zadanie mailového kontaktu a telefónneho čísla pre notifikáciu zákazníka o doručení balíka. Služba FlexDeliveryService má ako je uvedené na stránkach www.glskurier.sk aj inú výhodu. Ak si odosielateľ aktivoval túto službu, môžete ovplyvniť doručenie balíka výberom z viacerých možností doručenia cez GLS Delivery Manager. Ak si žiadnu nevyberiete, GLS vykoná automaticky ďalší pokus o doručenie na pôvodne zadanú adresu. Ak sa ani tento pokus nevydarí, bude nasledovať tretí...

Ak máte záujem o e-shop, alebo iný systém s automatizovaným napojením na GLS doručovanie, kontaktujte ma.

https://www.mygls.sk

https://www.glskurier.sk

Pridať komentár k článku