Allegro WebAPI

Interfejs programistyczny platformy Allegro

doGetShipmentData

Tematyka: Różne
Ostatnia zmiana: 13.03.2012 r.
Dostępność:
Metoda pozwala na pobranie pełnej listy sposobów dostawy dostępnych we wskazanym kraju.

  1. country-id | int | wymagany
    Identyfikator kraju (listę identyfikatorów krajów uzyskać można za pomocą metody doGetCountries).
  2. webapi-key | string | wymagany
    Klucz WebAPI użytkownika.



Orientacyjna struktura wywołania metody

$dogetshipmentdata_request = array(
   'country-id' => 1,
   'webapi-key' => 'g2fe408289'
);

  1. shipment-data-list | ShipmentDataStruct[]
    Tablica struktur zawierających informacje o dostępnych sposobach dostawy.
    1. shipment-id | int
      Identyfikator sposobu dostawy.
    2. shipment-name | string
      Nazwa sposobu dostawy.
    3. shipment-type | int
      Typ sposobu płatności (1 - płatność z góry, 2 - płatność przy odbiorze).
    4. shipment-time | ShipmentTimeStruct
      Struktura zawierająca informacje o czasie wysyłki określonym przez przewoźnika, odpowiednim dla danego sposobu dostawy.
      1. shipment-time-from | int
        Początek zakresu dla czasu wysyłki określonego przez przewoźnika (w godzinach; informacja zwracana tylko dla PL).
      2. shipment-time-to | int
        Koniec zakresu dla czasu wysyłki określonego przez przewoźnika (w godzinach; informacja zwracana tylko dla PL).
  2. local-version | long
    Wartość klucza wersji odpowiednia dla wybranego kraju i przekazanego klucza WebAPI.



Orientacyjna struktura odpowiedzi serwera

$dogetshipmentdata_response = array(
   'shipment-data-list' => array(
      array(
         'shipment-id' => 1,
         'shipment-name' => 'Paczka pocztowa ekonomiczna',
         'shipment-type' => 1,

         'shipment-time' => array(
           'shipment-time-from ' => 72,
           'shipment-time-to ' => 72 )),
      array(
         'shipment-id ' => 2,
         'shipment-name ' => 'List ekonomiczny',
         'shipment-type' => 1,
         'shipment-time' => array(
           'shipment-time-from ' => 72,
           'shipment-time-to ' => 72 )),
      array(
         'shipment-id ' => 3,
         'shipment-name ' => 'Paczka pocztowa priorytetowa',
         'shipment-type' => 1,
         'shipment-time' => array(
           'shipment-time-from ' => 24,
           'shipment-time-to ' => 24 )),
      array(
         'shipment-id ' => 4,
         'shipment-name ' => 'List priorytetowy',
         'shipment-type' => 1,
         'shipment-time' => array(
           'shipment-time-from ' => 24,
           'shipment-time-to ' => 24 )),
      array(
         'shipment-id ' => 5,
         'shipment-name ' => 'Przesyłka pobraniowa',
         'shipment-type' => 2,
         'shipment-time' => array(
           'shipment-time-from ' => 72,
           'shipment-time-to ' => 72 )),
      array(...)),
   'local-version' => 16551276
);

  • ERR_INPUT_COUNTRY_ERROR
    Niepoprawny identyfikator kraju (wskazany kraj nie jest obsługiwany lub w parametrze przekazano zerową/pustą wartość).
  • ERR_WEBAPI_EXPIRED
    Data ważności klucza WebAPI została przekroczona.
  • ERR_WEBAPI_KEY
    Niepoprawna wartość klucza WebAPI lub klucz został zablokowany.
  • ERR_WEBAPI_KEY_INACTIVE
    Klucz WebAPI został zdezaktywowany (nie zaakceptowano warunków Regulaminu WebAPI).

Allegro nie bierze odpowiedzialności za skutki wykorzystania zamieszczonych przykładów kodu, nie daje także gwarancji ich poprawnego działania. Widoczny kod ma charakter wyłącznie poglądowy i może zawierać błędy.

#1 (15.11.2016 r.) / php (Autor: Aneo2006)
  1. private function getShipmentData() {
  2. try {
  3. $this->soap_client = new SoapClient($this->wsdl);
  4. $session_params = array('countryId' => $this->country, 'webapiKey' => $this->webApiKey);
  5. $session = $this->soap_client->doGetShipmentData($session_params);
  6. var_dump($session->shipmentDataList->item[0]);
  7. $shipContent = '<div class="shipmentLabel">'._t('Opcje dostawy').'</div>';
  8. $shipContent .= '<div class="shipmentWrapper">';
  9. foreach ($session->shipmentDataList->item as $shipKey => $shipValue) {
  10. $shipContent .= '<div class="shipmentItem" data-target="' . $shipValue->shipmentId . '">';
  11. $shipContent .= '<div class="name">' . $shipValue->shipmentName . ' (' . $shipValue->shipmentId . ')</div>';
  12. if ($shipValue->shipmentTime->shipmentTimeFrom === $shipValue->shipmentTime->shipmentTimeTo) {
  13. $shipContent .= '<div class="period">' . _t('Około ') . ($shipValue->shipmentTime->shipmentTimeFrom / 24) . _t(' dni') . '</div>';
  14. } else {
  15. $shipContent .= '<div class="period">' . _t('Od ') . ($shipValue->shipmentTime->shipmentTimeFrom / 24) . _t(' do ') . ($shipValue->shipmentTime->shipmentTimeTo / 24) . _t(' dni') . '</div>';
  16. }
  17. $shipContent .= '</div>';
  18. }
  19. $shipContent .= '</div>';
  20. $this->web->assign('shipContent', $shipContent);
  21. //return $session;
  22. } catch (SoapFault $error) {
  23. $this->web->assign('allegroLoginMessage', '<i class="fa fa-times" aria-hidden="true"></i> Błąd ' . $error->faultcode, ': ' . $error->faultstring);
  24. }
  25. }