Preskoči na glavno vsebino

PHP XML zápis dát do ABRA Flexi

Ako zapísať dáta do ABRA Flexi vo formáte XML

Avtor: Lenka Haringerová

Nadväzujeme na článok PHP načítanie dát z ABRA Flexi, ktorý popisoval načítanie dát zo systému ABRA Flexi a ich zobrazenie ako tabuľky. Tento článok popisuje, ako naopak dáta do ABRA Flexi zapísať vo formáte XML.

Úvodné nastavenie už bolo popísané v predchádzajúcom článku.

V prvom kroku si pripravte XML súbor, ktorý bude obsahovať jednoduchý záznam adresára.

<?xml version="1.0"?><winstrom version="1.0">  <adresar>    <nazev>CharlieB</nazev>    <ulice>Lochot&#xED;nsk&#xE1; 18</ulice>    <mesto>Plze&#x148;</mesto>    <psc>301 00</psc>    <tel>+420 371 124 321</tel>    <email>podporaflexi@abra.eu</email>  </adresar></winstrom>

Tento XML súbor vytvorí v adresári záznam s názvom CharlieB, adresou, telefónnym číslom a e-mailom. To sú základné informácie, ktoré potrebuje prevádzkovateľ e-shopu vedieť o svojich zákazníkoch. Skratka bude vygenerovaná automaticky na základe názvu. Nemusíte sa teda o ňu starať.

Upravte kód, ktorý už bol použitý v predchádzajúcom článku:

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");

Zmeňte HTTP metódu na PUT.

curl_setopt($ch, CURLOPT_POSTFIELDS, ' 
<winstrom version="1.0">
<adresar>
<nazev>CharlieB</nazev>
<ulice>Lochotínská 18</ulice>
<mesto>Plzeň</mesto>
<psc>301 00</psc>
<tel>+420 371 124 321</tel>
<email>podpora@flexibee.eu</email>
</adresar>
</winstrom> ');

Nastavte, ktoré informácie potrebujete odoslať do ABRA Flexi a zmeňte spracovanie výsledku.

Celý program teda bude vyzerať napríklad takto:

<?php 
// URL with xml data
$url = "https://demo.flexibee.eu/c/demo/adresar.xml";

// create curl resource
$ch = curl_init();

// return content as a string from curl_exec
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

// follow redirects (compatibility for changes in FlexiBee) //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

// HTTP authentication curl_setopt($ch, CURLOPT_HTTPAUTH, TRUE);
// FlexiBee by default uses Self-Signed certificates //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

// for debugging
// curl_setopt($ch, CURLOPT_VERBOSE, TRUE);

// set username and password
curl_setopt($ch, CURLOPT_USERPWD, "winstrom:winstrom");

// set URL
curl_setopt($ch, CURLOPT_URL, $url);

// set HTTP method
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");

// set data
curl_setopt($ch, CURLOPT_POSTFIELDS,
' <winstrom version="1.0">
<adresar>
<nazev>CharlieB</nazev>
<ulice>Lochotínská 18</ulice>
<mesto>Plzeň</mesto>
<psc>301 00</psc>
<tel>+420 371 124 321</tel>
<email>podpora@flexibee.eu</email>
</adresar>
</winstrom> ');

// execute
$output = curl_exec($ch);

// FlexiBee return value
header("Content-Type: application/xml");
print ($output);

// close curl resource to free up system resources
curl_close($ch);

?>

Program sa opäť pripojí k serveru demo.flexibee.eu. HTTP autentifikáciou sa prihlási ako používateľ winstrom, s heslom winstrom, do firmy s identifikátorom demo. Do tejto firmy vytvorí nový záznam v adresári s názvom CharlieB.
Ukážka, ktorá vytvorí adresár na demo.flexibee.eu

Návod popisuje jednoduchý spôsob zápisu dát do ABRA Flexi. Môže ísť nielen o adresár, ale aj o prijaté objednávky alebo vydané faktúry.

Ste s tem dobili odgovor na svoje vprašanje?