• Prihlásiť / Vytvoriť účet

Vykonávam príkaz..

Stlačte F5 pre obnovenie stránky,
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).

REQUEST - Definíciu vstupných elementov detailne popisuje WSDL súbor, pričom hlavnými elementami sú: RESPONSE - Vrátená odpoveď obsahuje nasledovné parametre:

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 (
        
'A10_STAT' => 'SLOV.REP.',
        
'A36A_UHRN_PRIJMOV_DOHODY' => '0.00',
        
'A36_UHRN_PRIJMOV' => '0.00',
        
'A37A_UHRN_POISTNEHO_SOCIALNE' => '0.00',
        
'A37B_UHRN_POISTNEHO_ZDRAVOTNE' => '0.00',
        
'A37_UHRN_POISTNEHO' => '0.00',
        
'A38_ZAKLAD_DANE' => '0.00',
        
'A39_ZZD_NA_DANOVNIKA' => '3830.02',
        
'A3_PRIEZVISKO' => '',
        
'A40_ZZD_NA_MANZELKU' => '0.00',
        
'A41_ZZD_DDS_DOPLNKOVE' => '0.00',
        
'A42A_ZZD_DDS_KUPELNE_DANOVNIK' => '0.00',
        
'A42B_ZZD_DDS_KUPELNE_PARTNER_DETI' => '0.00',
        
'A42_ZZD_DDS_KUPELNE_SPOLU' => '0.00',
        
'A43_SPOLU' => '0.00',
        
'A44_ZAKLAD_DANE_ZNIZENY' => '0.00',
        
'A45_DAN' => '0.00',
        
'A46_ZAMESTNANECKA_PREMIA' => '0.00',
        
'A47_SUMA_NESPRAVNEJ_PREMIE' => '0.00',
        
'A48_UHRN_VYNATYCH_PRIJMOV' => '0.00',
        
'A49_ZAKLAD_DANE_ZNIZENY' => '0.00',
        
'A4_MENO' => '',
        
'A50_DAN_PO_VYNATI' => '0.00',
        
'A51_UHRN_PRIJMOV_ZAHRANICIE' => '0.00',
        
'A52_DAN_ZAPLATENA_V_ZAHRANICI' => '0.00',
        
'A53_PERCENTO_DANE' => '0.00',
        
'A54_Z_DANE_MOZNO_ZAPOCITAT' => '0.00',
        
'A55_DAN_NA_ZAPOCET' => '0.00',
        
'A56_DANOVA_POVINNOST' => '0.00',
        
'A57_NAROK_NA_DANOVY_BONUS' => '0.00',
        
'A58_DAN_ZNIZENA_O_BONUS_DETI' => '0.00',
        
'A59_BONUS_VYPLATENY_ZAMESTNAVATELOM' => '0.00',
        
'A60_BONUS_ROZDIEL' => '0.00',
        
'A61_BONUS_NA_POUKAZANIE' => '0.00',
        
'A62_NESPRAVNE_VYPLATENY_BONUS' => '0.00',
        
'A63_DAN_BONUS_NA_UROKY' => '0.00',
        
'A64_DAN_ZNIZENA_O_BONUS_UROKY' => '0.00',
        
'A65_BONUS_NA_UROKY_ZAMESTNAVATEL' => '0.00',
        
'A66_ROZDIEL_BONUS_UROKY' => '0.00',
        
'A67_BONUS_NA_UROKY_POUKAZANIE' => '0.00',
        
'A68_PREDDAVKY_ZAPLATENE' => '0.00',
        
'A69_PREDDAVKY_ZAPLATENE_OSTATNE' => '0.00',
        
'A70_PREDDAVKY_ZRAZENE' => '0.00',
        
'A71_DAN_NA_UHRADU' => '0.00',
        
'A72_DANOVY_PREPLATOK' => '0.00',
        
'A83_NEUPLATNUJEM_POSTUP' => '1',
        
'A83_SUMA_DAROVANA_DAN' => '0.00',
        
'A86_UHRN_PRIJMOV' => '0.00',
        
'A9_OBEC' => '',
        
'PODANIE_ZA_ROK' => '2018',
        
'TYP_PRIZNANIA_RIADNE' => 'riadne',
      ),
    );

try{
    
// vytvoríme dokument
    
$client = new SoapClient("https://ipdf.sk/danove-priznanie/dan-z-prijmu-fyzickych-osob-typ-a?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/dan-z-prijmu-fyzickych-osob-typ-a?soap");
$response $client->connect(); // Success - you have connected at 21.01.2019 10:54:54 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/dan-z-prijmu-fyzickych-osob-typ-a?soap"$options);