Strict Standards: Declaration of action_plugin_searchtext::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /lib/plugins/searchtext/action.php on line 14

Warning: Cannot modify header information - headers already sent by (output started at /lib/plugins/searchtext/action.php:14) in /inc/auth.php on line 313

Warning: Cannot modify header information - headers already sent by (output started at /lib/plugins/searchtext/action.php:14) in /inc/actions.php on line 163
webapi:order.new.list [Shop Docs]

Dokumentacja techniczna

Metoda order.new.list

Ta metoda nie jest jeszcze udokumentowana

array call(string $session_id, "order.new.list", array($extended = false, $products = false, $id = 0))
Ta metoda wywoływana jest za pośrednictwem metody call

Parametry wejściowe

  1. extended
  2. products
  3. id

Wartość zwracana

Ta metoda nie jest jeszcze udokumentowana

Wartości tablicy zwróconej przez tą metodę od pewnego klucza mogą przyjmować wartość array('error' ⇒ -2) - to oznacza, że skrypt po stronie serwera nie miał już czasu na wykonanie żądanych operacji na obiektach (poprzednie iteracje przekroczyły 80% całego dostępnego czasu na wykonanie skryptu). W celu zdobycia oczekiwanych informacji, należy ponowić zapytanie wysyłając tablicę pominiętych obiektów.

W celu zapewnienia kompatybilności typów zwracanych obiektów kod błędu jest sygnalizowany przez tablicę asocjacyjną zawierającą klucz 'error'

Rzucane wyjątki SoapFault

Istnieje możliwość wystąpienia wyjątku SoapFault w przypadku nieprawidłowego działania modułu aplikacji. (np poprzez modyfikację kodu aplikacji lub poprzez nieoczekiwany błąd po stronie serwera)

Przykład wywołania w PHP

<?php
 
/**
 * Logowanie do API
 * 
 * @param resource $c cURL resource handle
 * @param string $login Login użytkownika
 * @param string $password Hasło użytkownika
 * @return string Indentyfikatorr sesji użytkownika
 */
function login($c, $login, $password) {
    $params = Array(
        "method" => "login",
        "params" => Array($login, $password)
    );
    curl_setopt($c, CURLOPT_POSTFIELDS, "json=" . json_encode($params));
    $result = (Array) json_decode(curl_exec($c));
    if (isset($result['error'])) {
        return null;
    } else {
        return $result[0];
    }
}
 
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'http://shop.example.com/webapi/json/');
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
 
// zalogowanie użytkownika i pobranie identyfikatora sesji
$session = login($c, "api", "test");
 
if ($session != null) {
    $params = Array(
        "method" => "call",
        "params" => Array($session, "order.new.list", 
                Array(true, true, 
                        Array(2) // id ostatnio pobranego zamówienia
                            // zostaną zwrócone wszystkie nowsze zamówienia
                    )
            )
    );
 
    // zakodowanie parametrów dla metody POST
    $postParams = "json=" . json_encode($params);
    curl_setopt($c, CURLOPT_POSTFIELDS, $postParams);
 
    // dekodowanie rezultatu w formacie JSON do tablicy result
    $data = curl_exec($c);
    $result = (Array)json_decode($data);
 
    // sprawdzenie, czy wystąpił błąd
    if (isset($result['error'])) {
        echo "Wystąpił błąd: " . $result['error'] . ", kod: " . $result['code'];
    } else {
        foreach ($result as $item) {
            $order = (Array)$item;
 
            echo "Id zamówienia: " . $order['order_id'] . "<br>";
            echo "Wartość zamówienia: " . $order['sum'] . "<br>";
            echo "Data złożenia: " . $order['date'] . "<br>";
            // itp.
 
            echo "<br>Adres bilingowy:<br>";
            $billingAddress = (Array)$order['billingAddress'];
            echo "Imię: " . $billingAddress['firstname'] . "<br>";
            echo "Nazwisko: " . $billingAddress['lastname'] . "<br>";
            echo "Miejscowość: " . $billingAddress['city'] . "<br>";
            echo "Adres (linia 1): " . $billingAddress['street1'] . "<br>";
            echo "Adres (linia 2): " . $billingAddress['street2'] . "<br>";
            // itp.
 
            echo "<br>Adres dostawy:<br>";
            $deliveryAddress = (Array)$order['billingAddress'];
            echo "Imię: " . $deliveryAddress['firstname'] . "<br>";
            echo "Nazwisko: " . $deliveryAddress['lastname'] . "<br>";
            echo "Miejscowość: " . $deliveryAddress['city'] . "<br>";
            echo "Adres (linia 1): " . $deliveryAddress['street1'] . "<br>";
            echo "Adres (linia 2): " . $deliveryAddress['street2'] . "<br>";
            // itp.
 
            echo "<br>Produkty:<br>";
            $products = (Array)$order['products'];
            foreach ($products as $p) {
                $product = (Array)$p;
                echo "Nazwa: " . $product['name'] . "<br>";
                echo "Kod: " . $product['code'] . "<br>";
                echo "Wariant: " . $product['option'] . "<br>";
                // itp.
            }
 
            echo "<hr><br>";
        }
    }
} else {
    echo "Wystąpił błąd logowania";
}
 
curl_close($c);
?>