ak vidíte túto správu príliš dlho.
UPOZORNENIE:
Táto funkcia je prístupná len pre prihlásených užívateľov s typom účtu BUSINESS Membership (platená registrácia). Viac o typoch registrácie.Typ registrácie si môžete zmeniť v priebehu platby v časti "Moja zóna" alebo nás kontaktujte.
Vytvorenie dokumentu prostredníctvom webovej služby SOAP
Vytvorenie dokumentu prostredníctvom volania SOAP webovej služby je možné volaním SOAP požiadavky s URL parametrom "soap" (GET).
- WSDL: https://ipdf.sk/danove-priznanie/kontrolny-vykaz-dph?wsdl
- Endpoint / Služba: https://ipdf.sk/danove-priznanie/kontrolny-vykaz-dph?soap
- key - povinný atribút, autentifikačný kľúč pridelený užívateľovi
- data - povinný atribút, dátová štruktúra (pole alebo objekt) obsahujúca atribúty dokumentu - viď príklad nižšie
- success - 0, 1, kde 1 = úspech
- info - popis chýb v prípade neúspechu, resp. alebo informáciu o vytvorenom súbore v prípade úspechu
- file_name - názov vytvoreného tlačiva vo Vašom archíve dokumentov
- download_link - linka pre stiahnutie dokumentu platná 24 hodín od okamihu vytvorenia dokumentu
- file_content - base64 encoded obsah vytvoreného PDF súboru
Príklad kódu v PHP
<?php
// Odoslanie požiadavky
// ====================
// povinný autentifikačný API kľúč, nastavíte si ho v zóne "Moje dokumenty -> Nastavenia"
$api_key = "uARM_PSxvI*********************************";
// hodnoty atribútov v dokumente
$data = array (
'fields' =>
array (
'ADRESA_OBEC' => '',
'ADRESA_STAT' => 'Slov. rep.',
'DRUH_VYKAZU_RIADNY' => 'riadny',
'IC_DPH' => '',
'OBCHODNE_MENO' => '',
'OBDOBIE_ROK' => '2024',
),
'templates' =>
array (
'kvdph_a1' =>
array (
0 =>
array (
'A1_ODBERATEL_ICDPH' => '',
'A1_CISLO_FAKTURY' => '',
'A1_DATUM_DODANIA' => '',
'A1_ZAKLAD_DANE' => '',
'A1_DAN' => '',
'A1_SADZBA' => '',
'A1_KOD_OPRAVY' => '',
),
1 =>
array (
'A1_ODBERATEL_ICDPH' => '',
'A1_CISLO_FAKTURY' => '',
'A1_DATUM_DODANIA' => '',
'A1_ZAKLAD_DANE' => '',
'A1_DAN' => '',
'A1_SADZBA' => '',
'A1_KOD_OPRAVY' => '',
),
2 =>
array (
'A1_ODBERATEL_ICDPH' => '',
'A1_CISLO_FAKTURY' => '',
'A1_DATUM_DODANIA' => '',
'A1_ZAKLAD_DANE' => '',
'A1_DAN' => '',
'A1_SADZBA' => '',
'A1_KOD_OPRAVY' => '',
),
),
'kvdph_a2' =>
array (
0 =>
array (
'A2_ODBERATEL_ICDPH' => '',
'A2_CISLO_FAKTURY' => '',
'A2_DATUM_DODANIA' => '',
'A2_ZAKLAD_DANE' => '',
'A2_KOD_TOVARU' => '',
'A2_DRUH_TOVARU' => '',
'A2_MNOZSTVO' => '',
'A2_MJ' => '',
'A2_KOD_OPRAVY' => '',
),
1 =>
array (
'A2_ODBERATEL_ICDPH' => '',
'A2_CISLO_FAKTURY' => '',
'A2_DATUM_DODANIA' => '',
'A2_ZAKLAD_DANE' => '',
'A2_KOD_TOVARU' => '',
'A2_DRUH_TOVARU' => '',
'A2_MNOZSTVO' => '',
'A2_MJ' => '',
'A2_KOD_OPRAVY' => '',
),
2 =>
array (
'A2_ODBERATEL_ICDPH' => '',
'A2_CISLO_FAKTURY' => '',
'A2_DATUM_DODANIA' => '',
'A2_ZAKLAD_DANE' => '',
'A2_KOD_TOVARU' => '',
'A2_DRUH_TOVARU' => '',
'A2_MNOZSTVO' => '',
'A2_MJ' => '',
'A2_KOD_OPRAVY' => '',
),
),
'kvdph_b1' =>
array (
0 =>
array (
'B1_DODAVATEL_ICDPH' => '',
'B1_CISLO_FAKTURY' => '',
'B1_DATUM_DODANIA' => '',
'B1_ZAKLAD_DANE' => '',
'B1_SADZBA' => '',
'B1_DAN' => '',
'B1_ODPOCITANA_DAN' => '',
'B1_KOD_OPRAVY' => '',
),
1 =>
array (
'B1_DODAVATEL_ICDPH' => '',
'B1_CISLO_FAKTURY' => '',
'B1_DATUM_DODANIA' => '',
'B1_ZAKLAD_DANE' => '',
'B1_SADZBA' => '',
'B1_DAN' => '',
'B1_ODPOCITANA_DAN' => '',
'B1_KOD_OPRAVY' => '',
),
2 =>
array (
'B1_DODAVATEL_ICDPH' => '',
'B1_CISLO_FAKTURY' => '',
'B1_DATUM_DODANIA' => '',
'B1_ZAKLAD_DANE' => '',
'B1_SADZBA' => '',
'B1_DAN' => '',
'B1_ODPOCITANA_DAN' => '',
'B1_KOD_OPRAVY' => '',
),
),
'kvdph_b2' =>
array (
0 =>
array (
'B2_DODAVATEL_ICDPH' => '',
'B2_CISLO_FAKTURY' => '',
'B2_DATUM_DODANIA' => '',
'B2_ZAKLAD_DANE' => '',
'B2_SADZBA' => '',
'B2_DAN' => '',
'B2_ODPOCITANA_DAN' => '',
'B2_KOD_OPRAVY' => '',
),
1 =>
array (
'B2_DODAVATEL_ICDPH' => '',
'B2_CISLO_FAKTURY' => '',
'B2_DATUM_DODANIA' => '',
'B2_ZAKLAD_DANE' => '',
'B2_SADZBA' => '',
'B2_DAN' => '',
'B2_ODPOCITANA_DAN' => '',
'B2_KOD_OPRAVY' => '',
),
2 =>
array (
'B2_DODAVATEL_ICDPH' => '',
'B2_CISLO_FAKTURY' => '',
'B2_DATUM_DODANIA' => '',
'B2_ZAKLAD_DANE' => '',
'B2_SADZBA' => '',
'B2_DAN' => '',
'B2_ODPOCITANA_DAN' => '',
'B2_KOD_OPRAVY' => '',
),
),
'kvdph_b31' =>
array (
0 =>
array (
'B31_ZAKLAD_DANE' => '',
'B31_DAN' => '',
'B31_ODPOCITANA_DAN' => '',
'B31_KOD_OPRAVY' => '',
),
1 =>
array (
'B31_ZAKLAD_DANE' => '',
'B31_DAN' => '',
'B31_ODPOCITANA_DAN' => '',
'B31_KOD_OPRAVY' => '',
),
),
'kvdph_b32' =>
array (
0 =>
array (
'B32_DODAVATEL_ICDPH' => '',
'B32_ZAKLAD_DANE' => '',
'B32_DAN' => '',
'B32_ODPOCITANA_DAN' => '',
'B32_KOD_OPRAVY' => '',
),
1 =>
array (
'B32_DODAVATEL_ICDPH' => '',
'B32_ZAKLAD_DANE' => '',
'B32_DAN' => '',
'B32_ODPOCITANA_DAN' => '',
'B32_KOD_OPRAVY' => '',
),
2 =>
array (
'B32_DODAVATEL_ICDPH' => '',
'B32_ZAKLAD_DANE' => '',
'B32_DAN' => '',
'B32_ODPOCITANA_DAN' => '',
'B32_KOD_OPRAVY' => '',
),
),
'kvdph_c1' =>
array (
0 =>
array (
'C1_ODBERATEL_ICDPH' => '',
'C1_CISLO_OPR_FAKTURY' => '',
'C1_CISLO_POV_FAKTURY' => '',
'C1_ROZDIEL_ZAKLADOV_DANE' => '',
'C1_SADZBA' => '',
'C1_ROZDIEL_DAN' => '',
'C1_KOD_TOVARU' => '',
'C1_DRUH_TOVARU' => '',
'C1_ROZDIEL_MNOZSTVO' => '',
'C1_MJ' => '',
'C1_NEVYMOZITELNA' => '',
'C1_KOD_OPRAVY' => '',
),
1 =>
array (
'C1_ODBERATEL_ICDPH' => '',
'C1_CISLO_OPR_FAKTURY' => '',
'C1_CISLO_POV_FAKTURY' => '',
'C1_ROZDIEL_ZAKLADOV_DANE' => '',
'C1_SADZBA' => '',
'C1_ROZDIEL_DAN' => '',
'C1_KOD_TOVARU' => '',
'C1_DRUH_TOVARU' => '',
'C1_ROZDIEL_MNOZSTVO' => '',
'C1_MJ' => '',
'C1_NEVYMOZITELNA' => '',
'C1_KOD_OPRAVY' => '',
),
2 =>
array (
'C1_ODBERATEL_ICDPH' => '',
'C1_CISLO_OPR_FAKTURY' => '',
'C1_CISLO_POV_FAKTURY' => '',
'C1_ROZDIEL_ZAKLADOV_DANE' => '',
'C1_SADZBA' => '',
'C1_ROZDIEL_DAN' => '',
'C1_KOD_TOVARU' => '',
'C1_DRUH_TOVARU' => '',
'C1_ROZDIEL_MNOZSTVO' => '',
'C1_MJ' => '',
'C1_NEVYMOZITELNA' => '',
'C1_KOD_OPRAVY' => '',
),
),
'kvdph_c2' =>
array (
0 =>
array (
'C2_DODAVATEL_ICDPH' => '',
'C2_CISLO_OPR_FAKTURY' => '',
'C2_CISLO_POV_FAKTURY' => '',
'C2_ROZDIEL_ZAKLADOV_DANE' => '',
'C2_ROZDIEL_DAN' => '',
'C2_SADZBA' => '',
'C2_ROZDIEL_ODPOC_DAN' => '',
'C2_NEVYMOZITELNA' => '',
'C2_KOD_OPRAVY' => '',
),
1 =>
array (
'C2_DODAVATEL_ICDPH' => '',
'C2_CISLO_OPR_FAKTURY' => '',
'C2_CISLO_POV_FAKTURY' => '',
'C2_ROZDIEL_ZAKLADOV_DANE' => '',
'C2_ROZDIEL_DAN' => '',
'C2_SADZBA' => '',
'C2_ROZDIEL_ODPOC_DAN' => '',
'C2_NEVYMOZITELNA' => '',
'C2_KOD_OPRAVY' => '',
),
2 =>
array (
'C2_DODAVATEL_ICDPH' => '',
'C2_CISLO_OPR_FAKTURY' => '',
'C2_CISLO_POV_FAKTURY' => '',
'C2_ROZDIEL_ZAKLADOV_DANE' => '',
'C2_ROZDIEL_DAN' => '',
'C2_SADZBA' => '',
'C2_ROZDIEL_ODPOC_DAN' => '',
'C2_NEVYMOZITELNA' => '',
'C2_KOD_OPRAVY' => '',
),
),
'kvdph_d1' =>
array (
0 =>
array (
'D1_SUMA_OBRATOV' => '',
'D1_ZAKLAD_SADZBA20' => '',
'D1_DAN_SADZBA20' => '',
'D1_ZAKLAD_SADZBA10' => '',
'D1_DAN_SADZBA10' => '',
'D1_KOD_OPRAVY' => '',
),
1 =>
array (
'D1_SUMA_OBRATOV' => '',
'D1_ZAKLAD_SADZBA20' => '',
'D1_DAN_SADZBA20' => '',
'D1_ZAKLAD_SADZBA10' => '',
'D1_DAN_SADZBA10' => '',
'D1_KOD_OPRAVY' => '',
),
),
'kvdph_d2' =>
array (
0 =>
array (
'D2_ZAKLAD_SADZBA20' => '',
'D2_DAN_SADZBA20' => '',
'D2_ZAKLAD_SADZBA10' => '',
'D2_DAN_SADZBA10' => '',
'D2_KOD_OPRAVY' => '',
),
1 =>
array (
'D2_ZAKLAD_SADZBA20' => '',
'D2_DAN_SADZBA20' => '',
'D2_ZAKLAD_SADZBA10' => '',
'D2_DAN_SADZBA10' => '',
'D2_KOD_OPRAVY' => '',
),
),
),
);
try{
// vytvoríme dokument
$client = new SoapClient("https://ipdf.sk/danove-priznanie/kontrolny-vykaz-dph?soap");
$response = $client->generate($api_key, $data, $action);
}catch(SoapFault $e){
echo "Chyba pri vytváraní dokumentu: ".$e->getMessage();
}
// Spracovanie odpovede
// ====================
if($response->success == "1"){
echo "Úspech - dokument bol vytvorený. Linka pre stiahnutie dokumentu: ".$response->download_link;
// súbor si môžete uložiť na lokálny disk
file_put_contents("/path/to/save.pdf", base64_decode($response->file_content));
}else{
echo "Dokument sa nepodarilo vytvoriť. Popis chyby: ".$response->info;
}
?>
Riešenie potenciálnych problémov
1. Metóda soapClient->connect()
Pre uľahčenie implementácie je možné využiť podpornú metódu connect().Metóda nevyžaduje autentifikáciu ani žiadne vstupné parametre a vráti správu obsahujúcu aktuálny čas servera.
<?php
$client = new SoapClient("https://ipdf.sk/danove-priznanie/kontrolny-vykaz-dph?soap");
$response = $client->connect(); // Success - you have connected at 19.04.2024 04:55:46 to SoapServer at ipdf.sk ...
2. Alternatívny zápis pre inicializáciu SoapClient objektu:
<?php
// odkomentujte počas vývoja potrebné nastavenia
$context = stream_context_create(array(
"ssl" => array(
// "verify_peer" => false,
// "allow_self_signed" => true,
),
"http" => array(
// "curl_verify_ssl_peer" => false,
// "curl_verify_ssl_host" => false,
),
));
$options = array(
"stream_context" => $context,
"features" => SOAP_SINGLE_ELEMENT_ARRAYS,
// "cache_wsdl" => WSDL_CACHE_NONE,
// "trace" => true,
// "exceptions" => true,
);
$client = new SoapClient("https://ipdf.sk/danove-priznanie/kontrolny-vykaz-dph?soap", $options);