Zmiany pomiędzy wersją 60 and wersją 61 dla DeployerGuide/Others/eDokumentyApi

Pokaż
Ignoruj:
Data i czas:
05/20/14 13:59:38 (10 years temu)
Autor:
JP (IP: 31.61.129.164)
Komentarz:

--

Legend:

Bez zmian
Dodane
Usunięte
Zmienione
  • DeployerGuide/Others/eDokumentyApi

    v60 v61  
    2828 
    2929{{{ 
    30 http://{host}:{port}/apps/edokumenty/classes/eDokumentyApi/EDokApiServer.php 
    31 }}} 
    32  
    33 Opcjonalnie od wersji 0.9.8 usługa jest dostępna pod skróconym adresem:  
    34  
    35 {{{ 
    3630http://{host}:{port}/eDokumentyApi.php 
    3731}}} 
    38  
    3932 
    4033Wartość {host} oraz {port} należy zamienić odpowiednimi wartościami zgodnymi z konfiguracją serwera instalacyjnego systemu eDokumenty. 
     
    5649}}} 
    5750 
    58 Przykład wywołania serwisu oraz funkcji dodającej kontrahenta: 
    5951 
    60 {{{ 
    61 #!php 
    62  
    63 // Plik MyService.php umieszczony w apps/edokumenty. 
    64 // MyService.php 
    65 <?php 
    66 // stałe są w confing.inc i są to dane potrzebne do autentykacji usługi 
    67 require_once('./../../framework/lib/util/Translator/Translator.inc'); 
    68 require_once('./config.inc'); 
    69  
    70 // klient SOAP systemu eDokumenty wysyłający nagłówki WSSecurity zmienić na  
    71 // odpowiednią ścieżkę w zależności od lokalizacji pliku MyService.php 
    72 require_once('./classes/eDokumentyApi/EDokApiClient.inc'); 
    73  
    74 // wartość {host}:{port} zmienić na odpowiednią dla serwera 
    75 $ops = array( 
    76     'location' => 'http://{host}:{port}eDokumentyApi.php', 
    77     "uri" => "eDokumentyAPI", 
    78     'encoding'=>'UTF-8' 
    79 ); 
    80  
    81  
    82 // Dodatkowo od wersji 3.3 autentykacja nie wymaga nadpisania klienta Soap. Wystarczy do url z adresem serwisu dodać parametry GET w postaci 
    83 // a1 - login,  
    84 // a2 - hasło,  
    85 // a3 - symbol jednostki 
    86 /*  
    87 $ops = array( 
    88     'location' => 'http://{host}:{port}eDokumentyApi.php?a1='.EDOK_API_LOGIN.'&a2='.md5(md5(EDOK_API_PASSWORD).'_SOAP_eDok_api').'&a3='.DEFAULT_ENTITY_SYMBOL.'', 
    89     "uri" => "eDokumentyAPI", 
    90     'encoding'=>'UTF-8' 
    91 ); 
    92  
    93 // bezpośrednie wywołanie klienta Soap   
    94 $client = new SoapClient(NULL, $ops); 
    95 */ 
    96 $client = new EDokApiClient(null, $ops); 
    97 $client->setUser(EDOK_API_LOGIN); // ten sam co w config.inc 
    98 $client->setPass(md5(EDOK_API_PASSWORD)); // to samo co w config.inc 
    99  
    100 $header = new SoapHeader('eDokumentyAPI', 'entity_symbol', DEFAULT_ENTITY_SYMBOL); 
    101 $client->__setSoapHeaders($header); 
    102  
    103 // Tworzy kontakt 
    104 $contid = NULL; 
    105  
    106 try { 
    107     $data = array( 
    108         'name_1' => 'SOAP TEST'.date('d H:m:s'), 
    109         'name_2' => 'SOAPTEST', 
    110         'nip___' => 1111111111, 
    111         'street' => 'Główna',        
    112         'symbol' => 'FGH99' 
    113     ); 
    114     $contid = $client->createContact($data); 
    115     var_dump($contid); 
    116  
    117 } catch(SoapFault $fault) { 
    118      
    119     var_dump($fault); 
    120      
    121     if ($fault->faultcode < 100) { 
    122         trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR); 
    123     } 
    124 } 
    125  
    126 ?> 
    127 }}} 
    12852 
    12953 
     
    13963}}} 
    14064 
    141 '''Od wersji 4.0 systemu eDokumenty jest możliwość autentykacji poprzez dowolne konto użytkownika''' (nie musi to być ''EDOK_API_LOGIN'', jak we wcześniejszych wersjach). 
    14265 
    14366== Uwagi dotyczące przekazywania parametrów == 
    144 We wszystkich funkcjach w których parametr jest określony jako (array)$data możliwe jest przekazanie parametrów jako ciąg json (więcej na http://www.json.org/). Dzięki temu nie potrzeba tworzyć pseudo struktur tablic asocjacyjnych dla języków programowania, w których takich typów nie ma. 
     67We wszystkich funkcjach w których parametr jest określony jako (array)$data możliwe jest przekazanie parametrów jako ciąg JSON (więcej na http://www.json.org/). Dzięki temu nie potrzeba tworzyć pseudo struktur tablic asocjacyjnych dla języków programowania, w których takich typów nie ma. 
    14568 
    14669== Dokumentacja API 1.8.9 ==