Navazujeme na článek PHP načtení dat z ABRA Flexi, který popisoval načtení dat ze systému ABRA Flexi a jejich zobrazení jako tabulky. Tento článek popisuje, jak naopak data do ABRA Flexi zapsat ve formátu XML.

Úvodní nastavení již bylo popsáno v minulém článku.

V prvním kroku si připravte XML soubor, který bude obsahovat jednoduchý záznam adresáře.

<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>podporaflexi@abra.eu</email> </adresar> </winstrom>

Tento XML soubor založí do adresáře záznam s názvem CharlieB, adresou, telefonním číslem a mailem. To jsou základní informace, které potřebuje provozovatel e-shopu vědět o svých zákaznících. Zkratka bude vygenerována automaticky na základě názvu. Takže ji řešit nemusíte.

Upravte kód, který již byl použit v předchozím článku:

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

Změňte HTTP metodu 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>podporaflexi@abra.eu</email> </adresar> </winstrom> ');

Nastavte, které informace potřebujete do ABRA Flexi odeslat a změňte zpracování výsledku.

Celý program tedy bude vypadat napří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 Flexi) //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); // HTTP authentication curl_setopt($ch, CURLOPT_HTTPAUTH, TRUE); // Flexi 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>podporaflexi@abra.eu</email> </adresar> </winstrom> '); // execute $output = curl_exec($ch); // Flexi return value header("Content-Type: application/xml"); print ($output); // close curl resource to free up system resources curl_close($ch); ?>

Program se opět připojí k serveru demo.flexibee.eu. HTTP autentizací se přihlásí jako uživatel winstrom, s heslem winstrom, do firmy s identifikátorem demo. Do této firmy založí nový záznam v adresáři s názvem CharlieB.
Ukázka která založí adresář na demo.flexibee.eu

Prověření zda byl záznam opravdu vytvořen

Návod popisuje jednoduchý způsob zápisu dat do ABRA Flexi. Může se jednat nejen o adresář, ale i o objednávky přijaté nebo vydané faktury.

Našli jste odpověď?