Export seznamu zásilek pro dopravce (SOAP)

Účel článku

Zdokumentování exportu seznamu zásilek pro dopravce a odeslání potvrzení jejich převzetí pomocí web services. Z pohledu CIBS se jedná o seznam zásilek s uzavřenou expedicí. Podrobná referenční dokumentace je k dispozici v referenčním popisu rozhraní CIBS WSDL.

Registrované metody

Seznam registrovaných metod s referenčním popisem je k dispozici na https://is.cibs.cz/ws_cibs.php.
Metoda Popis
ws_session_login přihlášení operátora
ws_session_logout odhlášení operátora
ws_session_set_ct nastavení lokace
ws_ts_export_transport_items export seznamu zásilek
ws_ts_export_confirm potvrzení převzetí zásilky

Posloupnost volání metod

Pro obě funkcionality je nutné se nejprve přihlásit do CIBS (ws_session_login) a nastavit číslo lokace (ws_session_set_ct). Poté je teprve možné zavolat příslušnou metodu (ws_ts_export_transport_items resp. ws_ts_export_confirm). Po zpracování výsledků je třeba provést odhlášení operátora (ws_session_logout).

Příklad použití metod v php skriptu:

<?php
require_once 'libs/nusoap/nusoap.php';

$login = 'jmeno'; // jméno
$password = 'heslo'; // heslo
$host = 'https://adresa/ws_cibs.php?wsdl '; // url
$ct = N; // číslo lokace

$client = new nusoap_client($host);
$err = $client->getError();
if ($err) {
  echo '<p><b>Constructor error: ' . $err . '</b></p>';
}

function ws_simple_call($client, $method, $input) {
  $res = $client->call($method, $input);
  if ($client->fault) {
    echo "<p><b>$method - fault: ";
    print_r($res);
    echo '</b></p>';
    $res = false;
  } else {
    $err = $client->getError();
    if ($err) {
      echo "<p><b>$method - error: $err</b></p>";
      $res = false;
    } else {
      echo "<p><b>$method - result: $res</b></p>";
    }
  }
  return $res;
}

function export_items($client, $session) {
  $r = ws_simple_call($client, 'ws_ts_export_transport_items', array('session' => $session, 'ts_id' => $_GET['ts_id']));
}

function export_confirm($client, $session) {
  $r = ws_simple_call($client, 'ws_ts_export_confirm', array('session' => $session, 'ti_id' => $_GET['ti_id']));
}

$session = ws_simple_call($client, 'ws_session_login', array('login' => $login, 'password' => $password));
if ($session) {
  $r = ws_simple_call($client, 'ws_session_set_ct', array('session' => $session, 'ct' => $ct));
  if (!empty($_GET['ts_id'])) {
    export_items($client, $session);
  }
  if (!empty($_GET['ti_id'])) {
    export_confirm($client, $session);
  }
  $r = ws_simple_call($client, 'ws_session_logout', array('session' => $session));
}
?>
PHP skriptu je třeba předat následující parametry:

Práva a nastavení:

Název Účel Popis Hodnoty
TRANSPORT.EXPORT_ITEMS nastavení operátora povoluje operátorovi provádět export zásilek pro konkrétního dopravce id dopravce
TRANSPORT.CONFIRM_ITEMS nastavení operátora povoluje operátorovi provádět potvrzení převzetí zásilky pro konkrétního dopravce id dopravce

Seznam zásilek

Seznam zásilek je v odpovědi metody ws_ts_export_transport_items ve formátu XML. Obsahuje následující elementy:
Element Význam
items seznam zásilek
item zásilka
expedition_id id zásilky
company název společnosti – pokud je zákazník evidován v CIBS jako společnost
user_name jméno zákazníka
phone telefonní číslo s mezinárodním prefixem
house_num číslo popisné / orientační
street ulice
city obec
zip PSČ
weight hmotnost zásilky v gramech
delivery_date datum a čas předpokládaného doručení

Příklad seznamu zásilek

<items>
  <item>
    <expedition_id>18</expedition_id>
    <company></company>
    <user_name>Karel Novák</user_name>
    <phone>420123456789</phone>
    <house_num>2/2</house_num>
    <street>1. prosince</street>
    <city>Praha</city>
    <zip>11000</zip>
    <weight>1100</weight>
    <delivery_date>25.01.2012 08:40</delivery_date>
  </item>
</items>

Odkaz na interní dokumentaci.

arrowbleft Zpět na:
Topic revision: r1 - 04 Sep 2019, UnknownUser
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback