Version 12 (modified by JP, 10 years ago)

--

Dodanie nowej sprawy

Definicja parametrów:

<?php

/**
 *  Tworzy nową sprawę
 *   
 *  @param data Array - Tablica z parametrami
 *  Szczegóły:
 *  @param data['dscrpt'] String - opis sprawy
 *  @param data['symbol'] String - symbol sprawy. Jeśli nie zostanie podany system nada go automatycznie
 *  @param data['briefcase_symbol'] String - symbol teczki. Parametr zamienny z dsexid
 *  @param data['dsexid'] int - identyfikator teczki (doss_exctract_list:dsexid). Parametr zamienny z briefcase_symbol
 *  @param data['orunid'] int - identyfikator jednostki organizacyjnej, pod którą zostanie utworzona sprawa (organization_units:orunid).
 *  @param data['rspoid'] int - identyfikator stanowiska osoby odpowiedzialnej w sprawie (organization_units:orunid). Parametr zamienny z rspuid
 *  @param data['rspuid'] int - identyfikator osoby odpowiedzialnej w sprawie (users:usr_id). Parametr zamienny z rspoid
 *  @param data['prtpid'] int - identyfikator procedury (procedures_def:prtpid). Domyślnie sprawa jest tworzona z procedurą przypisaną do teczki
 *  @param data['prtype'] int - typ sprawy: 1 - terminowa, 2 - stała. Domyślnie 2 czyli stała
 *  @param data['comnts'] String - uwagi
 *  @param data['contact_symbol'] String - symbol kontaktu (contacts:symbol). Parametr zamienny z contid
 *  @param data['contid'] int - identyfikator kontaktu (contacts:contid). Parametr zamienny z contact_symbol
 *  @param data['copeid'] int - identyfikator osoby kontaktowej (contact_persons:copeid)
 *  @param data['is_fix'] int - 0|1 stan sprawy jeśli podamy 1 automatycznie zostanie załatwiona (0 domyślna wartość)
 *  @param data['fxtrid'] int - to ilość dni na zakończenie sprawy począwszy od Daty wszczęcia
 *  @param data['rel_to'] int - identyfikator sprawy nadrzędnej, jeżeli chcemy podpiąć sprawę jako podrzędną
 *  @param data['pr_sta'] String - kod statusu właściwy dla sprawy. Jeśli przypisano statusy per teczka kod musi wskazywać na status przypisany do podanej teczki
 *  @param data['forepa'] Numeric - Prognozowana wartość wpływów.
 *  @param data['currpa'] Numeric - Waluta dla pola forepa
 *  @param data['foreda'] String - Prognozowana data sprzedaży
 *  @param data['foreco'] Numeric - Prognozowany koszt zlecenia
 *  @param data['currco'] Numeric - Waluta dla pola foreco
 *  @param data['credib'] String - Szacunek (prawdopodobieństwo otrzymania zlecenia). Dane: 10%, 25%, 50%, 75%, 100%
 *  @param data['devcid'] Int - Identyfikator urządzenia (devices:devcid) jeśli sprawa dotyczy urządzenie z serwisu
 *  @param data['projid'] Int - Identyfikator projektu (processes:projid) jeśli sprawa należy do projektu
 *  @param data['campid'] Int - Identyfikator kampanii (campaigns:campid) jeśli sprawa należy do projektu
 *  @param data['optime'] String - Data wszczęcia w formacie YYYY-MM-DD
 *  @param data['cltime'] String - Data zakończenia w formacie YYYY-MM-DD. Datę tę ustawia system podczas załatwiania sprawy (Opcja zakończ sprawę)
 *
 *  @return Int - id sprawy jeśli sukces (processes:prc_id), 0 w razie niepowodzenia
 *   
 *  @throws Exception - SoapFault
 */
Int createProcess(Array data)

?>

Przykłady wywołań:


// Plik MyService.php umieszczony w apps/edokumenty.
// MyService.php
<?php

define('EDOK_API_LOGIN', 'developer');
define('EDOK_API_PASSWORD', 'developer');
define('DEFAULT_ENTITY_SYMBOL', 'demo');

require_once('./classes/eDokumentyApi/EDokApiClient.inc');

$options = array(
    'location' => 'http://{host}:{port}/eDokumentyApi.php',
    "uri" => "eDokumentyAPI",
    'encoding'=>'UTF-8'
);
        
$client = new EDokApiClient(NULL, $options);
$client->setUser(EDOK_API_LOGIN);
$client->setPass(md5(EDOK_API_PASSWORD));
$header = new SoapHeader('eDokumentyAPI', 'entity_symbol', DEFAULT_ENTITY_SYMBOL);
$client->__setSoapHeaders($header);

$prc_id = NULL;

try {
    $data = array(
        'dscrpt' => 'SOAP TEST '.date('d H:m:s'),
        'briefcase_symbol' => 'DK.023',
        'orunid' => 49,
        'rspoid' => 54,
        'fxtrid' => 60,
        'prtpid' => 1,
    );
    $prc_id = $client->createProcess($data);
    var_dump($prc_id);
} catch(SoapFault $fault) {
    var_dump($fault);
    
    if ($fault->faultcode < 100) {
        trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
    }
}

?>

UWAGI

Aby rejestrować sprawy przez API w taki sposób że są one podłączane pod grupy spraw, wówczas w parametrze briefcase_symbol (symbol teczki) należy przekazać symbol grupy spraw np. Inf.6640.1 a system wyszukując teczki jeśli jej nie znajdzie to poszuka dodatkowo tego symbolu w numerach spraw doklejając do otrzymanego parametru pełny rok z daty wszczęcia sprawy (z parametru optime).