Lietojumprogrammas saskarne (Norgate API)
Versija 2.0
Administratora instrukcija
Administratora instrukcija |
4 |
|
Lietojumprogrammas saskarne (Norgate API). Versija 2.0
1.Ievads
1.1.Dokumenta nolūks
Šis dokuments apraksta Lietojumprogrammas saskarnes (Norgate API) instalēšanu, konfigurēšanu un ekspluatāciju.
(Norgate API) nodrošina tirgotāja sasaisti ar Norgate Trader noliktavas uzskaites sistēmu.
1.2. Auditorija
Dokuments paredzēts sistēmu izstrādātājiem un administratoriem.
1.3. Lietojamība
Šis dokuments atbilst sekojošiem programmatūras moduļiem:
Elektroniskās komercijas sistēma Trader
ELietojumprogrammas saskarne (Norgate API). Versija 2.0
Administratora instrukcija |
5 |
|
Lietojumprogrammas saskarne (Norgate API). Versija 2.0
2.Norgate API sagatavošana
2.1.Sistēmas prasības
2.1.1. |
Nepieciešamā |
|||
|
|
|
|
|
Komponente |
|
Versija |
Piezīmes |
|
PHP |
|
PHP 4.0.2 vai |
Nepieciešama CURL bibliotēka |
|
|
jaunāka |
|
||
|
|
|
|
2.2.Norgate API instalācija
2.2.1.Norgate API pakotnes saturs
Lai uzinstalētu Norgate API uz jūsu servera, atarhivējiet api.zip arhīvu tirgotāja web veikala saknes direktorijā.
Administratora instrukcija |
6 |
|
Lietojumprogrammas saskarne (Norgate API). Versija 2.0
3.Norgate API integrēšana
3.1. Integrēšana
Trader noliktavas uzskaites sistēmas servera izsaukšana, lietojot Norgate API var tikt realizēta lietojot php klasi "class.Trader.php"
Klases izsaukšana:
require_once 'class.Trader.php';
require_once 'class.restRequest.php';
$api_url = 'api1.norgate.lv'; // PIEŠĶIRTAIS API SERVERIS!
$api_key = '4f230818a2397431882713c4c2e58702'; // PIEŠĶIRTĀ API ATSLĒGA!
$trader = new Trader($api_url, $api_key);
3.2. Klienta reģistrācija
Reģistrējot klientu, tiek pārbaudīts e-pasts, ja epasts eksistē un ir ievadīta parole, tad skatās vai nav tāds pats e-pasts ar paroli, atrašanas gadijumā funkcija atgriež rezultātu ar paziņojumu, ka klients ar šādu e-pastu eksistē. Gadijumā, ja parole nav ievadīta, vai arī parole ir un e-pasts ir unikāls, tad tiek izveidots jauns klients, kā arī tiek atgriesti klienta dati.
Funkcijas izsaukšana:
$result = $trader->registerClient(array(
'CLIENT_NAME'=>'Vārds Uzvārds',
'IS_FIZISKA'=>'F',//T/F
'PHONE' =>'+371 29475675',
'PVN_REG_NR' => 'LV 23437567523894',
'REG_NR' => '23437567523894',
'ADDRESS' => 'Brīvības gatve 250, Rīga',
'EMAIL' => 'info@example.com',
'PASSWD' => '*******',
'REAL_ADDRESS' => 'Turaidas iela 2, Rīga',
'BANK_ACCOUNT' => '',
'FAX' => '634956747'
));
3.3. Reģistrēta klienta datu iegūšana
Klienta dati tiek atgriesti pēc e-pasta un paroles, nesakritību gadijumā tiek atgriests 'undefined'.
Funkcijas izsaukšana:
$result = $trader->login(array(
'EMAIL'=>'info@norgate.lv',
'PASSWD' =>'90',
));
3.4. Preču iegūšana
Sinhronizējot preces, tiek atgriests vairākdimensiju masīvs ar preču sarakstu un to datiem. Ātrdarbības nolūkos rekomendējam preces sinhronizēt nakts vidū, kad viss mazākais klientu apmeklējums mājaslapai.
Funkcijas izsaukšana:
$result = $trader->getGoods();
3.5. Preču koka iegūšana
Sinhronizējot preču koku, tiek atgriests vairākdimensiju masīvs ar preču koka sarakstu un to datiem. Ātrdarbības nolūkos rekomendējam preču koku sinhronizēt nakts vidū, kad viss mazākais klientu apmeklējums mājaslapai.
Funkcijas izsaukšana:
$result = $trader->getGoodsTree();
3.6. Ražotāju iegūšana
Sinhronizējot ražotājus, tiek atgriests vairākdimensiju masīvs ar ražotāju sarakstu un to datiem. Ātrdarbības nolūkos rekomendējam ražotājus sinhronizēt nakts vidū, kad viss mazākais klientu apmeklējums mājaslapai.
Funkcijas izsaukšana:
$result = $trader->getManufacturers();
3.7. Izejošo dokumentu veidošana
Veicot groza izrakstīšanu, izmantojam zemāk minēto funkciju, kas nodrošina izejošo dokumentu izveidi, kas atgriež izejošā dokumenta ID. Pirms groza izrakstīšanas obligāti jāiegūst klienta ID Sk. 3.2 punktu.
Funkcijas izsaukšana:
$result = $trader->checkoutCart(array(
'CLIENT_ID' => 12,
'DELIVERY_ADDRESS' => 'Rīga, brīvības gatve 222a',
'CMR_ID' => null, //JA IZMANTO CMR MODULI
//UN IR VAJADZĪBA SASAISTĪT DUKUMENTU AR DARĪJUMU
'ITEMS' => array(
1 => array(
'GOOD_ID' => 123, // PRECES ID
'STOCK_NR' => 2, //NOLIKTAVAS NR
'AMOUNT' => 4, //DAUDZUMS
'L1' => 'Preces nosaukums', //PRECES NOSAUKUMS
'PRICE' => 23.567892, // CENA BEZ PVN
'DISCOUNT' => 5, // ATLAIDE PROCENTOS
'IS_PAKALPOJUMS' => 'T', // VAI IR PAKALPOJUMS T / F
'IS_DISCOUNT' => 'T' //VAI IR ATLAIDE T / F
)
));
*/3.8. Preces gala cenas iegūšana
Lai noteiktu korektu klienta cenu pēc klienta datu iegūšanas, atlaidi, vai cenu bez PVN, izmantojam zemāk minēto funkciju, kas aprēķina preces cenu.
Funkcijas izsaukšana:
$price = $trader->getPrice(
array(
'CATEGORY_ID' => 2,
'GROUP_ID' => 5,
'SUBGROUP_ID' => 1,
'GOOD_ID' => 100,
'GOOD_SELL_PRICE' => 43.567564,
'IS_AKCIJA' => 'T',
'ACTION_PRICE' => 34.567443,
'DISCOUNT_PERCENT' => 0
),
$real="true", //false = cena bez atlaides; akcija = akcijas cena; true = reālā cena
$pvn=true, // ar, bez pvn
$wdis=false // true = neņemt vērā klienta atlaidi
);
3.9. Preces pievienošana
Lai pievienotu jaunu preci, izmantojam zemāk minēto funkciju, kas pievieno preci un vajadzības gadijumā izveido preces apakšgrupas, ja tādu nav. Rezultātā atgriež masīvu ar preces ID
Funkcijas izsaukšana:
$GOOD = $trader->addItem(
array(
'TREE'=>array(
'CTG' => 'Kategorija',
'GRP' => 'Grupa',
'SGR' => 'Apakšgrupa'
),
'GOOD'=>array(
'L1' => 'Preces nosaukums',
'CODE1' => 'Kods',
'SELL_PRICE' => 34.54
)
)
);
3.10. Maksājumu pievienošana
Lai piesaistītu maksājumu izejošajam dokumentam izmantojam zemāk minēto funkciju.
Funkcijas izsaukšana:
$success = $trader->addPayment(
$_SELL_DOC_ID, //Izejošā dokumenta ID = $trader->checkoutCart();
$_AMOUNT // maksājumu summa
);
3.11. Klienta pasūtījumu vēsture
Lai iegūtu klienta izejošo dokumentu sarakstu izmantojam zemāk minēto funkciju.
Padodot parametru no kura ieraksta sākt lasīt iegūst 20 ierakstus.
Funkcijas izsaukšana:
$history = $trader->clientHistory(
$CLIENT_ID, //klienta ID
$FROM // No kura ieraksta sākt lasīt
);
3.12. CMR Darījumu pievienošana
Lai izveidotu jaunu darijumu izmantojam zemāk minēto funkciju.
Funkcijas izsaukšana:
$dealID = $trader->newDeal(
array(
'NAME'=>'Norgate Deal Test',
'CLIENT_ID'=>16955,
'AMOUNT'=>9.99,
'DATE'=>date('d.m.Y'),
'PIPELINE'=>'Pārdošana',
'DEAL_NOTES'=>'Piezīmes',
'PIPELINE_STEP'=>'Pieprasījums no mājaslpas',
'DEAL_MANAGER_ID'=>array(
1,
6,
')
)
);