Geis Parcel API pre automatizovaný import zásielok - PHP skript
GEISPHP knihovna využívá Geis G-Service CZ a SK / G-Service EN / G-Service PL
- Funguje pre CZ, SK, PL
- Import zásielok
- Tlač štítkov a podacieho hárku
- Objednávka zvozu
- a všetky ďalšie funkcie popísané v dokumentácii G-Service
Vďaka tejto knižnici už nemusíte generovať CSV, prihlasovať sa do Geis, importovať CSV, ukladať CSV a tlačiť štítky!
O všetko sa postará API.
Môžem tiež poslať staršiu verziu skriptu, ktorá pracuje vo forme HTTP parsera pre GClient, a oproti G-Service má potenciál väčší funkčnosti. Tá však funguje len pre CZ.
Funguje PHP 5.3+, PHP 7
Príklad použitia
<?php
/**
* Ukážka použitia Geis API
*/
require 'class_geis_v2.php';
try {
// prihlasovacie údaje k službe G-Service musíte vyžiadať u Geis, sú iné než u GClienta
$G = new Geis(
$clientNumber = '70905941', $clientPassword = 'ws15511',
$service = 'CZ', // iné hodnoty: SK, PL, PL2 (if you use etlogistik.com)
$testService = true // ak prebieha len testovanie
);
// $G->setEncoding('CP1250'); // UTF-8 je predvolený
// sets default distribution channel (default is Geis::PARCEL)
// $G->setDefaultDistribution(Geis::CARGO);
//--------- V KNIŽNICI SÚ IMPLEMENTOVANÉ VŠETKY FUNKCIE Z GEIS DOKUMENTÁCIA
echo '<h1>G-Service API</h1>';
echo '<pre>';
// či služba beží a aká verzia
print_r( $G->IsHealthy() );
// vracia zoznam manipulačných jednotiek povolených pre zákazníka v primárnom systéme
print_r( $G->WrapList() );
print_r( $G->ServiceList() ); // výpis povolených služieb
print_r( $G->AddServiceList(10) ); // extras pre službu CODE = 10 (parciel expedície)
// vráti dátum nasledujúceho pracovného dňa, ak je pred 12:00, tak vráti rovnaký deň
echo $G->getNextPossiblePickup(1200);
// objedná zvoz
$G->CreatePickup('2019-02-06','732848164', 'mzvarik@gmail.com', $pocetBaliku = 1);
//-------------------------------
// NOVÁ ZASIELKA
// Bude vyzdvihnutý na vašej zvozovej adrese
$receiver = Geis::getFullAddress(
'Jan Novák',
'Václavské nám. 100',
'Praha',
'11000',
'CZ',
'novak@jan.cz',
'603123456'
);
// Zoznam balíkov v zásielke (obvykle 1)
// rozmery nie je nutné zadávať - prípadne uvádzať v metroch a stačí len u prvého balíka
$packages = array();
$packages[] = array(0.5); // hmotnost_kg
$packages[] = array(0.72, 1.2, 0.33, 0.22); // hmotnost_kg | šírka | výška | dĺžka
$ret = $G->InsertExport(
'2019-02-06', // deň zvoz
$receiver, // príjemca zásielky
$packages,
'Doručit ve 12 hodin', // poznámka vodiči
array(150, 'CZK', '55555'), // dobierka, mena, variabilný symbol
false, // či poslať príjemcovi balíka potvrdzovací email
'balik_01', // referencie zásielky (voliteľne)
true, // či ide o súkromnú adresu (B2C)
'' // Geis Pickup Point - ID destinácie
);
echo $ret->PackNumber;
// ak ste poslali viac balíkov
$additionalPackNumbers = (array) $ret->MergedPackNumbers->string;
//------------
// NOVÁ OBJEDNÁVKA - z miesta A do B (nie je nutné objednávať zvoz)
// napríklad ak vám zákazník niečo posiela naspäť
$sender = Geis::getFullAddress(
'Jana Krásná',
'Krásnohorská 100',
'Brno',
'50000',
'CZ',
'jana@krasnohorska.cz',
'731888999'
);
$ret = $G->InsertOrder( // táto funkcia je zhodná s InsertExport, ale začína odosielateľom
$sender, // odosielateľ zásielky
'2019-02-06', // deň zvozu
$receiver, // príjemca zásielky
$packages
);
echo $ret->PackNumber;
//------------
# VRÁTI PDF ŠTÍTKY
$shipmentNumbers = array('35700145379', '35700145380', '35700145381');
// $G->GetLabel($shipmentNumbers, $Position = 1); // vráti PDF string
$G->PrintLabel($shipmentNumbers); // vytlačí PDF
# ZOZNAM ZÁSIELOK
$shipments = $G->ListOfShipments('2019-02-06');
print_r($shipments);
# INFORMÁCIE O ZÁSIELKE
$detail = $G->ShipmentDetail('35700145389');
print_r($detail);
# STAV ZÁSIELKY
$status = $G->ShipmentStatus('35700145389');
print_r($status);
# STORNO ZÁSIELKY
$res = $G->DeleteShipment(array('35700145385', '35700145379'));
print_r($res);
# PICKUP LIST PROTOCOL - vracia preberací protokol
// $G->GetPickupList('2019-02-06'); // vráti PDF string
// $G->PrintPickupList('2019-02-06'); // vytlačí PDF
}
catch (Exception $e)
{
echo '<div style="color:#000;padding:10px;margin:10px;font-family:Tahoma;font-size:13px;font-weight:bold">';
echo 'Geis Error ['.$e->getCode().']: '.$e->getMessage();
echo '</div>';
}
Individuálne napojenie na Váš eShop
V případě zájmu o individuální napojení na Váš eshop na míru nebo wordpress (woocommerce), magento, ale i systémy na jednotné doméně jako UPgates mě kontakujte. V podstatě stačí pokud Váš eshop umožňuje export objednávek a můžete jedním klikem vložit všechny objednávky k odeslání přímo do GEIS, hromadně vytisknout štítky a protokoly.
CLI rozhraní
K dispozici také možnost ovládat přes příkazový řádek (cmd.exe) a import zásilek přes TXT soubor s detekcí všech chyb.
História zmien
26.05.2019 - Plugin pro Wordpress (úplná integrace s GEIS)
01.01.2019 - Geis v2, aktualizace funkcí
22.11.2018 - CLI (příkazový řádek) rozhraní
10.07.2018 - Upgates rozhraní
03.05.2018 - Drobné změny, přidána volba formátu tisku štítků
01.04.2017 - Změna z HTTP API na G-Service
17.12.2016 - Přidáno