e-racuni integracija - PHP
10 naročnikov
10 naročnikov
Pozdravljeni.
e-racuni imajo lepo urejen api, kako dela še nisem preverjal. Zanima me, če ima kdo izkušnje, kako to početi s php-jem, konkretno za e-racune?
Zelo bi bil vesel, če bi mi lahko kdo pokazal primer klica PHP v povezavi z e-racuni.com, da ne odkrivam tople vode. Tehnik mi je povedal, da se pošlje XML, lahko pa tudi string in potem e-racuni vrnejo response.
Ima kdo kakšen konkreten primer, kako se to počne z e-računi v PHP-ju?
Zelo bom hvaležen za vaše odgovore.
Hvala.
18 odgovorov
off topic: lahko je najboljsi program... dokler ima IE na screenshotih ga ne bom uporabljal za nic na svetu ;)
Stvar je precej preprosta. Najprej si zamisliva funkcijo, s katero boš opravljal dejanske API klice.
/**
* calls the E-racuni API and returns the API response
* @param $post_data
* @return string
*/
function callAPI($post_data) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://eurofaktura.com/WebServicesSI/API");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/octet-stream", "Content-Length: " . strlen($post_data)));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$curl_result = @curl_exec($ch);
$curl_err = curl_error($ch);
curl_close($ch);
return $curl_result;
}
Potem pa samo še sestaviš XML (kar je čisto navaden text), ga shraniš v spremenljivko $postdata, in pokličeš callAPI($postdata).
Primer $post_data spremenljivke:
$post_data = "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<request>
<login username=\"{$this->import_setting_username}\" md5pass=\"{$this->import_password_md5}\" token=\"{$this->import_setting_token}\" />
<method name=\"SalesInvoiceCreate\">
<parameter name=\"SalesInvoice\">
<number>{$invoice_number}</number>
<date>{$invoice_date}</date>
<dateOfSupplyFrom>{$invoice_date_supply}</dateOfSupplyFrom>
<expirationDate>{$invoice_date}</expirationDate>
<city>Ljubljana</city>
<isReccurringInvoice>false</isReccurringInvoice>
<vatTransactionType>{$vat_transaction_type}</vatTransactionType>
<remarks>{$invoice_remark}</remarks>
<buyerCode>{$buyer_code}</buyerCode>
<methodOfPayment>bankTransfer</methodOfPayment>
<status>issuedInvoice</status>
<totalCurrency>EUR</totalCurrency>
<totalAmount>{$total_amount}</totalAmount>
<totalNetAmount>{$total_net_amount}</totalNetAmount>
<Items>
<Item>
<description>{$item_description}</description>
<amount>{$total_amount}</amount>
<price>{$total_net_amount}</price>
<netPrice>{$total_net_amount}</netPrice>
<netPriceInDocumentCurrency>{$total_net_amount}</netPriceInDocumentCurrency>
<currency>EUR</currency>
<quantity>1</quantity>
<vatTransactionType>{$vat_transaction_type}</vatTransactionType>{$vat_item_data}
</Item>
</Items>
</parameter>
</method>
</request>";
Pa vso srečo. ;)
Mešetar:
off topic: lahko je najboljsi program... dokler ima IE na screenshotih ga ne bom uporabljal za nic na svetu ;)
Jaz pa Mešetar.com. :)
Mešetar:
off topic: lahko je najboljsi program... dokler ima IE na screenshotih ga ne bom uporabljal za nic na svetu ;)
Saj screenshoti so narejeni v Firefox-u :-)
Ce pogledate CSS, boste videli, da je okvir dodan posebej. Slucajno res zgleda, kot IE, ampak designer uporablja Mac-a tako, da je verjetno samo hotel pokazati, da deluje TUDI na IE od verzije 5.5 dalje in ne samo na FF, Chrome, Safari, Opera, ... ;-)
e-racuni:
Mešetar:
off topic: lahko je najboljsi program... dokler ima IE na screenshotih ga ne bom uporabljal za nic na svetu ;)Saj screenshoti so narejeni v Firefox-u :-)
Ce pogledate CSS, boste videli, da je okvir dodan posebej. Slucajno res zgleda, kot IE, ampak designer uporablja Mac-a tako, da je verjetno samo hotel pokazati, da deluje TUDI na IE od verzije 5.5 dalje in ne samo na FF, Chrome, Safari, Opera, ... ;-)
haha, pa res...nisem sel za tem, da je locena slika in da je v prikazu programa slider od macOSXa a okvir IE... kakorkoli... ze samo uporaba IEja za okvir sproza bad feelings :)
sem dobil velik minusov, zgleda da je tle velik IE zagovornikov :)
Pravzaprav so zagovorniki IE naše stranke, katere uporabljajo naše strani in na njih kupujejo.
Kot razvijalec, ki razvija spletne strani za druge, si s podobnimi izjavami (tudi v eni prejšnjih tem), delaš medvedjo uslugo, saj kdo bi najel razvijalca, ki mu ni mar za cca 33% naših strank?
Pomoje si ravno zaradi tega dobil minuse, in ne zaradi IE borbe proti IE.
@Jure Damjan: khm, khm... malo jemljes stvari iz konteksta...
1. nisem razvijalec za najem ;)
2. ce ze, ko delam za koga, vedno poskrbim, da je podprto
3. 33% je uproabnikov IE, ker jim razviajlci dajemo potuho... in se trudimo, da tudi pr njih dela, namesto, da jih komplet ignoriramo
Pravzaprav so zagovorniki IE naše stranke, katere uporabljajo naše strani in na njih kupujejo.
to se ne pomeni, da je kul, da se dela dodatna propaganda IEju