Metody - pozostałe
CheckConnection
Test Atom API w zakresie połączenia i autoryzacji.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$response = $client->CheckConnection($authenticate);
echo $response;
Dane zwracane:
OK
Uwagi:
- metoda zwraca ciąg znaków "OK" lub "WRONG AUTHORIZATION" (w przypadku błędnego loginu / hasła).
GetAllegroAuctions
Pobranie danych aukcji Allegro wystawionych poprzez panel administracyjny sklepu.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
| status | nie | string | status aukcji ('1' - aukcje aktywne, '0' - aukcje nieaktywne, '' - wszystkie) | |
| number | nie | string | numer aukcji | |
| code | nie | string | kod produktu lub wariantu w bazie AtomStore - pozwala sprawdzić, czy dany produkt / wariant jest wystawiony na Allegro | |
| date_add | nie | string | data rozpoczęcia aukcji, np. '2016-01-20 20:47:59'; zwrócone zostaną aukcje z datą rozpoczęcia równą wskazanej lub późniejszą |
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$response = $client->GetAllegroAuctions($authenticate, '', '5955400000');
header('Content-Type: application/xml');
echo $response;
Dane zwracane + komentarze:
<auctions> <auction> <number>5955400000</number> <!-- numer aukcji --> <account>testAllegroLogin</account> <!-- login konta Allegro, z którego została wystawiona aukcja --> <code>k_111</code> <!-- kod produktu lub wariantu wystawionego na aukcji --> <title><![CDATA[ tytuł testowej aukcji ]]></title> <!-- tytuł --> <category_id>147316</category_id> <!-- id kategorii Allegro --> <date_add>2016-01-20 12:43:01</date_add> <!-- data rozpoczęcia --> <date_end>0000-00-00 00:00:00</date_end> <!-- data zakończenia (zera dla aukcji bezterminowych) --> <duration>do wyczerpania zapasów</duration> <!-- czas trwania --> <quantity>1</quantity> <!-- ilość wystawiona na aukcji --> <quantitySold>0</quantitySold> <!-- ilość dotychczas sprzedana --> <buyNowPrice>3000,00</buyNowPrice> <!-- cena "kup teraz" --> <cost>0,20</cost> <!-- koszt wystawienia aukcji --> <status>0</status> <!-- status aukcji (1 = aktywna, 0 = nieaktywna) --> <auction_fields> <!-- dodatkowe pola własne opisujące aukcję, jeśli zostały zdefiniowane --> <auction_field> <key>wybor-wzoru</key> <!-- klucz pola --> <name>Prośba o wybór wzoru</name> <!-- nazwa pola --> <value> <![CDATA[ tak ]]> <!-- wartość --> </value> </auction_field> </auction_fields> </auction> </auctions>
Uwagi:
- dane zwracane są w kolejności według daty rozpoczęcia aukcji, rosnąco.
GetCurrencies
Pobranie zestawu walut i ich aktualnych kursów w AtomStore.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$response = $client->GetCurrencies($authenticate);
header('Content-Type: application/xml');
echo $response;
Dane zwracane + komentarze:
<currencies> <currency> <code>PLN</code> <!-- symbol waluty --> <value>1.00000000</value> <!-- kurs wobec waluty domyślnej --> <default>1</default> <!-- czy jest to domyślna waluta (1 = tak, 0 = nie) --> </currency> <currency> <code>EUR</code> <value>4.35000000</value> <default>0</default> </currency> <currency> <code>USD</code> <value>4.09240000</value> <default>0</default> </currency> </currencies>
GetDocuments
Pobranie informacji o dokumentach handlowych (faktury, rozrachunki) stworzonych dla kontrahentów w ramach modułu B2B.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
| user_id | nie | int | 0 | identyfikator klienta w AtomStore; 0 = wszyscy kontrahenci |
| modified | nie | string | 0000-00-00 00:00:00 | zawężenie danych do dokumentów utworzonych albo zmodyfikowanych z datą równą lub późniejszą od podanej |
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$response = $client->GetDocuments($authenticate);
header('Content-Type: application/xml');
echo $response;
Dane zwracane + komentarze:
<documents>
<document>
<user>
<atom_id>24</atom_id> <!-- id kontrahenta w AtomStore -->
<external_id>ext24</external_id> <!-- zewn. identyfikator kontrahenta, obecny, jeśli został nadany -->
<email>marcinek95@wp.pl.9999</email> <!-- adres e-mail -->
</user>
<type>FK</type> <!-- typ dokumentu -->
<number><![CDATA[FK/1111/2019]]></number> <!-- numer -->
<value>100.22</value> <!-- wartość -->
<to_pay>0.00</to_pay> <!-- do zapłaty -->
<products> <!-- pozycje na dokumencie -->
<product>
<code><![CDATA[kkkpom222]]></code> <!-- kod produktu / wariantu -->
<quantity>2.0000</quantity> <!-- ilość -->
<price>50.11</price> <!-- cena -->
<tax>23</tax> <!-- stawka podatkowa -->
<data><![CDATA[ (...) ]]></data> <!-- inne dane pozycji dokumentu, w postaci zserializowanej -->
</product>
</products>
<!-- inne, dowolne dane dokumentu, w postaci zserializowanej -->
<data><![CDATA[a:2:{s:8:"order_id";i:223344;s:8:"payments";a:2:{s:2:"p1";s:6:"123,45";s:2:"p2";s:6:"400,00";}}]]></data>
<file>
<url></url> <!-- URL do załącznika -->
</file>
<created>2019-02-19 22:10:00</created> <!-- data dodania dokumentu -->
<modified>2019-02-20 15:15:59</modified> <!-- data ostatniej modyfikacji dokumentu -->
</document>
</documents>
Uwagi:
- dane zwracane są w kolejności według daty ostatniej modyfikacji dokumentu, rosnąco,
- maksymalna liczba zwróconych dokumentów: 1000.
GetPaymentMethods
Pobranie definicji form płatności.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$response = $client->GetPaymentMethods($authenticate);
header('Content-Type: application/xml');
echo $response;
Dane zwracane + komentarze:
<payment_methods> <payment_methods> <id>2</id> <!-- id formy płatności w AtomStore --> <external_id>COD</external_id> <!-- zewn. identyfikator płatności --> <name>Płatność przy odbiorze</name> <!-- nazwa --> <active>0</active> <!-- status (1 = aktywna, 0 = nieaktywna) --> <cod>1</cod> <!-- pobraniowa forma płatności (1 = tak, 0 = nie) --> <handling_fee_price>5.00</handling_fee_price> <!-- dopłata przy wyborze tej formy płatności - stała kwota --> <handling_fee_percentage>0.00</handling_fee_percentage> <!-- dopłata określona jako procent wartości koszyka --> <tax>23</tax> <!-- stawka podatkowa --> </payment_methods> </payment_methods>
Uwagi:
- metoda nie zwraca nazw w językach innych niż domyślny,
- zewn. identyfikator formy płatności jest zwracany, jeśli został określony; można się nim posłużyć podczas zapisu zamówienia (metoda SetOrders),
- dopłata to wartość kwotowa lub procentowa, nie może być określona (niezerowa) na oba te sposoby jednocześnie.
GetShippingMethods
Pobranie definicji form dostawy.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$response = $client->GetShippingMethods($authenticate);
header('Content-Type: application/xml');
echo $response;
Dane zwracane + komentarze:
<shipping_methods> <shipping_method> <id>3</id> <!-- id formy dostawy w AtomStore --> <external_id>T_K</external_id> <!-- zewn. identyfikator dostawy --> <code>KR</code> <!-- kod do użytku wewnętrznego --> <name>Kurier</name> <!-- nazwa --> <name lang="eng">Courier</name> <!-- nazwa w języku innym niż domyślny (lang = kod języka) --> <work_title><![CDATA[Aktualny Kurier]]></work_title> <!-- nazwa robocza --> <description><![CDATA[Opis]]></description> <!-- opis --> <description lang="eng"><![CDATA[Description]]></description> <!-- opis w języku innym niż domyślny (lang = kod języka) --> <info><![CDATA[Przewidywany czas dostawy 3 dni]]></info> <!-- informacja dodatkowa --> <info lang="eng"><![CDATA[Estimated delivery time 3 days]]></info> <!-- informacja dodatkowa w języku innym niż domyślny (lang = kod języka) --> <active>1</active> <!-- status (1 = aktywna, 0 = nieaktywna) --> <standard_price_netto>10.0000</standard_price_netto> <!-- standardowy koszt dostawy - netto --> <standard_price_brutto>12.30</standard_price_brutto> <!-- standardowy koszt dostawy - brutto --> <tax>23</tax> <!-- stawka podatkowa --> <weight_from></weight_from> <!-- minimalna waga zamówienia w kg (może być nieokreślona) --> <weight_to>30</weight_to> <!-- maksymalna waga zamówienia w kg (może być nieokreślona) --> <min_cart_total>10.00</min_cart_total> <!-- minimalna wartość koszyka --> <max_cart_total>500.00</max_cart_total> <!-- maksymalna wartość koszyka --> <max_cart_item_count>10</max_cart_item_count> <!-- maksymalna liczba produktów --> <free_from_quantity>100.00</free_from_quantity> <!-- darmowa odstawa od ilości --> <free_froms> <!-- progi darmowej dostawy --> <free_from> <cart_total>200.00</cart_total> <!-- minimalna wartość koszyka --> <date_from></date_from> <!-- termin obowiązywania - od (może być nieokreślony) --> <date_to>2020-01-01 00:00:00</date_to> <!-- termin obowiązywania - do (może być nieokreślony) --> </free_from> </free_froms> </shipping_method> </shipping_methods>
Uwagi:
- metoda nie zwraca nazw w językach innych niż domyślny,
- zewn. identyfikator formy dostawy jest zwracany, jeśli został określony; można się nim posłużyć podczas zapisu zamówienia (metoda SetOrders).
GetShippingMethodsIndividuals
Metoda zwraca indywidualne warunki dostawy określone dla wybranych produktów.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$response = $client->GetShippingMethodsIndividuals($authenticate);
header('Content-Type: application/xml');
echo $response;
Dane zwracane + komentarze:
<shipping_individuals> <shipping_method> <id>1234</id> <!-- id produktu w AtomStore --> <code>HHG-0302</code> <!-- kod produktu (obecny, jeśli jest określony) --> <external_id>T_87632</external_id> <!-- zewn. identyfikator towaru (obecny, jeśli został nadany) --> <shipping_method_id>4</shipping_method_id> <!-- id formy dostawy w AtomStore --> <price>0.0000</price> <!-- indywidualny koszt dostawy (netto) --> <exclusion>1</exclusion> <!-- forma dostawy wykluczona z produktem (1 = tak, 0 = nie) --> <gratis>0</gratis> <!-- produkt dostarczany bezpłatnie (1 = tak, 0 = nie) --> </shipping_method> </shipping_individuals>
Uwagi:
- w praktyce niepusta i niezerowa wartość będzie figurowała w 1 z 3 pól: <price> / <exclusion> / <gratis>,
- metoda nie zwraca indywidualnych warunków dostawy określonych w kategoriach, wykluczeń z formami płatności etc.
GetStores
Pobranie danych sklepów zdefiniowanych w ramach funkcji multistore.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$response = $client->GetStores($authenticate);
header('Content-Type: application/xml');
echo $response;
Dane zwracane + komentarze:
<stores> <store> <id>1</id> <!-- id sklepu --> <domain>sklep-x-1.pl</domain> <!-- domena --> <name>Sklep X1</name> <!-- nazwa sklepu --> </store> <store> <id>2</id> <domain>sklep-x-2.pl</domain> <name>Sklep X2</name> </store> </stores>
Uwagi:
- w polu <domain> może występować wiele domen oddzielonych średnikiem.
SetCoupons
Tworzenie i aktualizacja kuponów rabatowych, wraz z określaniem kodów dla poszczególnych kuponów.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
| message | tak | message | - | struktura zawierająca pole 'xml', które powinno zawierać ciąg znaków w formacie XML; opis formatu poniżej |
Format XML + komentarze:
<coupons> <coupon> <name><![CDATA[Kupon dla stałych klientów]]></name> <!-- nazwa kuponu w domyslnym jezyku (wymagana) --> <name lang="eng"><![CDATA[Coupon for regular customers]]></name> <!-- nazwa kuponu w konkretnym jezyku (wymagana) --> <fixed_value>10,50</fixed_value> <!-- wartość kwotowa kuponu --> <percentage_value></percentage_value> <!-- wartość procentowa kuponu (podajemy albo fixed_value albo procentage_value) --> <date_from>2015-09-09</date_from> <!-- data startowa ważności kuponu (opcjonalnie) --> <date_to></date_to> <!-- data końcowa ważności kuponu (opcjonalnie) --> <codes_lifetime></codes_lifetime> <!-- czas ważności jednego kodu kuponu, w dniach (opcjonalnie) --> <min_cart_total>49,99</min_cart_total> <!-- minimalna wartość koszyka (opcjonalnie) --> <max_uses>100</max_uses> <!-- maksymalna ilość użyć jednego kodu kuponu (opcjonalnie) --> <codes> <!-- lista kodów kuponu --> <code>7852p785</code> <code>kr19876</code> </codes> </coupon> <coupon> <id>123</id> <!-- możliwość nadpisania istniejącego kuponu poprzez przekazanie jego id w sklepie --> <name><![CDATA[Nagroda za recenzję w sklepie]]></name> <shipping_methods> <!-- kupon na darmową dostawę --> <shipping_method_id>21</shipping_method_id> <!-- identyfikator formy dostawy --> <shipping_method_id>12</shipping_method_id> </shipping_methods> <codes> <code>f283cn3v3</code> <code delete="1">b129ue12</code> <!-- dyspozycja usunięcia kodu kuponu --> <code uses="2">289ffvjff</code> <!-- zapis ilości użyć kodu kuponu --> <code attempts="4">cjjj12121</code> <!-- zapis ilości prób użycia kodu kuponu --> <code uses="0" attempts="1">28hv2h8</code> </codes> </coupon> </coupons>
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$xml = '<coupons><coupon><name>kupon X</name><fixed_value>12</fixed_value><codes><code>7852p785</code></codes></coupon></coupons>';
$message = array('xml' => $xml);
$response = $client->SetCoupons($authenticate, $message);
header('Content-Type: application/xml');
echo $response;
Dane zwracane:
<savedCoupons> <savedCoupon> <id>54</id> <name><![CDATA[kupon X]]></name> </savedCoupon> </savedCoupons>
Uwagi:
- wymagane jest podanie jednego przedmiotu kuponu, tzn. <fixed_value>, <percentage_value> lub <shipping_methods>; w przypadku przekazania tych pól jednocześnie, odczytywane są one w wymienionej kolejności,
- formy dostawy mogą być wskazane zarówno identyfkatorem zewnętrznym, jak i poprzez id w AtomStore,
- aktualizowanie kuponu jest możliwe tylko na podstawie <id>, wymagane jest zatem rejestrowanie w zewnętrznym systemie identyfikatorów zawartych w strukturze zwrotnej,
- znacznik <id> nie pozwala narzucić własnego identyfikatora; w przypadku podania <id>, które nie występuje wśród istniejących kuponów, dane zostaną zignorowane i zwrócony zostanie odpowiedni komunikat,
- struktura zwrotna zawiera dane zarówno właśnie dodanych, jak i zaktualizowanych kuponów (może zawierać wiele węzłów <savedCoupons>).
SetCurrencies
Aktualizacja kursów walut zdefiniowanych w AtomStore.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
| message | tak | message | - | struktura zawierająca pole 'xml', które powinno zawierać ciąg znaków w formacie XML; opis formatu poniżej |
Format XML + komentarze:
<currencies> <currency> <code>EUR</code> <!-- symbol waluty --> <value>4.35</value> <!-- kurs wobec waluty domyślnej (zwykle PLN) --> </currency> <currency> <code>USD</code> <value>4.09241122</value> </currency> </currencies>
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$xml = '<currencies><currency><code>USD</code><value>4.09241122</value></currency></currencies>';
$message = array('xml' => $xml);
$response = $client->SetCurrencies($authenticate, $message);
echo $response;
Dane zwracane:
OK
Uwagi:
- obsługiwana jest precyzja do 8 miejsc po przecinku,
- metoda dopuszcza zmianę kursu waluty domyślnej (zwykle PLN), jednak nie jest to zalecane - kurs waluty domyślnej powinien wynosić 1.00,
- waluta, która nie jest zdefiniowana w AtomStore, nie zostanie dodana, lecz pominięta.
SetDocuments
Tworzenie i aktualizowanie dowolnych dokumentów handlowych (faktury, rozrachunki), które będą wyświetlane zalogowanym kontrahentom B2B.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
| message | tak | message | - | struktura zawierająca pole 'xml', które powinno zawierać ciąg znaków w formacie XML; opis formatu poniżej |
Format XML + komentarze:
<documents>
<document>
<!-- wskazanie kontrahenta na jeden z 3 sposobów -->
<user>
<atom_id>123</atom_id> <!-- id kontrahenta w AtomStore -->
<external_id></external_id> <!-- zewn. identyfikator kontrahenta -->
<email></email> <!-- adres e-mail -->
</user>
<order_id>1</order_id> <!-- ID zamówienia, opcjonalnie -->
<type>FV</type> <!-- typ dokumentu -->
<number><![CDATA[FA/SKL/2600/2017]]></number> <!-- numer -->
<value>4725.96</value> <!-- wartość -->
<to_pay>0</to_pay> <!-- do zapłaty -->
<products> <!-- pozycje na dokumencie (opcjonalnie) -->
<product>
<code><![CDATA[KX12345]]></code> <!-- kod produktu / wariantu -->
<quantity>1</quantity> <!-- ilość -->
<price>4725.96</price> <!-- cena -->
<tax>23</tax> <!-- stawka podatkowa -->
<data><![CDATA[ (...) ]]></data> <!-- inne dane pozycji dokumentu, w postaci zserializowanej -->
</product>
</products>
<!-- inne, dowolne dane dokumentu, w postaci zserializowanej -->
<data><![CDATA[a:2:{s:8:"order_id";i:223344;s:8:"payments";a:2:{s:2:"p1";s:6:"123,45";s:2:"p2";s:6:"400,00";}}]]></data>
<file><!-- załącznik (plik) -->
<name>plik.pdf</name><!-- nazwa pliku -->
<base64><![CDATA[ (...) ]]></base64> <!-- zawartość pliku zakodowana przy pomocy funkcji base64 -->
</file>
</document>
</documents>
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$xml = '<documents>';
$xml .= '<document>';
$xml .= '<user><atom_id>6421</atom_id></user>';
$xml .= '<type>FVAT</type><number>F/8877/2018</number>';
$xml .= '<value>333,22</value><to_pay>0</to_pay>';
$xml .= '</document>';
$xml .= '</documents>';
$message = array('xml' => $xml);
$response = $client->SetDocuments($authenticate, $message);
echo $response;
Dane zwracane:
OK
Uwagi:
- do stworzenia dokumentu wymagane są wszystkie elementy z wyjątkiem pola <data> oraz produktów,
- dokumenty kontrahenta nierozpoznanego będą ignorowane.
SetMdkInvoices
Niewspierana metoda na rzecz zapisu faktur.
Metoda odpowiadająca i zalecana: SetInvoices.
SetMdkPayments
Niewspierana metoda do zapisu rozrachunków z klientami.
Metoda zalecana na rzecz zapisu płatności do zamówień: SetOrders.
SetShippingMethods
Metoda ustawia warunki dostawy.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
| message | tak | message | - | struktura zawierająca pole 'xml', które powinno zawierać ciąg znaków w formacie XML; opis formatu poniżej |
Format XML + komentarze:
<shipping_methods>
<shipping_method>
<id>3</id> <!-- id formy dostawy w AtomStore -->
<external_id>T_K</external_id> <!-- zewn. identyfikator dostawy -->
<code>KR</code> <!-- kod do użytku wewnętrznego -->
<name>Kurier</name> <!-- nazwa -->
<name lang="eng">Courier</name> <!-- nazwa w języku innym niż domyślny (lang = kod języka) -->
<work_title>Aktualny Kurier</work_title> <!-- nazwa robocza -->
<description>Opis</description> <!-- opis -->
<description lang="eng">Description</description> <!-- opis w języku innym niż domyślny (lang = kod języka) -->
<info>Przewidywany czas dostawy 3 dni></info> <!-- informacja dodatkowa -->
<info lang="eng">Estimated delivery time 3 days</info> <!-- informacja dodatkowa w języku innym niż domyślny (lang = kod języka) -->
<active>1</active> <!-- status (1 = aktywna, 0 = nieaktywna) -->
<standard_price_netto>10.0000</standard_price_netto> <!-- standardowy koszt dostawy - netto -->
<standard_price_brutto>12.30</standard_price_brutto> <!-- standardowy koszt dostawy - brutto -->
<tax>23</tax> <!-- stawka podatkowa -->
<weight_from></weight_from> <!-- minimalna waga zamówienia w kg (może być nieokreślona) -->
<weight_to>30</weight_to> <!-- maksymalna waga zamówienia w kg (może być nieokreślona) -->
<min_cart_total>10.00</min_cart_total> <!-- minimalna wartość koszyka -->
<max_cart_total>500.00</max_cart_total> <!-- maksymalna wartość koszyka -->
<max_cart_item_count>10</max_cart_item_count> <!-- maksymalna liczba produktów -->
<free_from_quantity>100.00</free_from_quantity> <!-- darmowa odstawa od kwoty -->
<free_froms> <!-- progi darmowej dostawy -->
<free_from>
<cart_total>200.00</cart_total> <!-- minimalna wartość koszyka -->
<date_from></date_from> <!-- termin obowiązywania - od (może być nieokreślony) -->
<date_to>2020-01-01 00:00:00</date_to> <!-- termin obowiązywania - do (może być nieokreślony) -->
</free_from>
</free_froms>
</shipping_method>
</shipping_methods>
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$xml = '<shipping_individuals>';
$xml .= '<shipping_method>';
$xml .= '<id>1</id>';
$xml .= '<code>HHG-0302</code>';
$xml .= '<active>1</active>';
$xml .= '</shipping_method>';
$xml .= '</shipping_individuals>';
$message = array('xml' => $xml);
$response = $client->SetShippingMethods($authenticate, $message);
echo $response;
Dane zwracane:
OK
Uwagi:
- do stworzenia rekordu wymagane są wszystkie elementy
UpdateOrders
Niewspierana metoda na rzecz aktualizowania wybranych cech zamówień.
Metoda odpowiadająca i zalecana: SetOrders.
SetShippingMethodsIndividuals
Metoda ustawia indywidualne warunki dostawy określone dla wybranych produktów.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
| message | tak | message | - | struktura zawierająca pole 'xml', które powinno zawierać ciąg znaków w formacie XML; opis formatu poniżej |
Format XML + komentarze:
<shipping_individuals> <shipping_method> <code>HHG-0302</code> <!-- kod produktu (obecny, jeśli jest określony) --> <shipping_method_id>4</shipping_method_id> <!-- id formy dostawy w AtomStore --> <price>0.0000</price> <!-- indywidualny koszt dostawy (netto) --> <exclusion>1</exclusion> <!-- forma dostawy wykluczona z produktem (1 = tak, 0 = nie) --> <gratis>0</gratis> <!-- produkt dostarczany bezpłatnie (1 = tak, 0 = nie) --> </shipping_method> </shipping_individuals>
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$xml = '<shipping_individuals>';
$xml .= '<shipping_method>';
$xml .= '<code>HHG-0302</code>';
$xml .= '<shipping_method_id>4</shipping_method_id>';
$xml .= '<price>0.0000</price>';
$xml .= '<exclusion>1</exclusion>';
$xml .= '<gratis>0</gratis>';
$xml .= '</shipping_method>';
$xml .= '</shipping_individuals>';
$message = array('xml' => $xml);
$response = $client->SetShippingMethodsIndividuals($authenticate, $message);
echo $response;
Dane zwracane:
OK
Uwagi:
- do stworzenia rekordu wymagane są wszystkie elementy
GetShipmentLabels
Zwraca etykiete przysyłki
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
| orderId | nie | string | ID zamówienia w AtomStore | |
| trackingNumber | nie | string |
Numer paczki |
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$response = $client->GetShipmentLabels($authenticate);
header('Content-Type: application/xml');
echo $response;
Dane zwracane + komentarze:
<shipments>
<shipment>
<order_id>100150</order_id> <!-- ID zamówienia w AtomStore -->
<labels>
<label>
<tracking_number>0000000640576Q</tracking_number> <!-- Numer paczki -->
<url><!-- Link do pobrania etykiety paczki --></url>
</label>
</labels>
<tracking_numbers>
<tracking_number>0000000640576Q</tracking_number> <!-- Numer paczki -->
</tracking_numbers>
</shipment>
<shipmentsCount>1</shipmentsCount>
</shipments>
Uwagi:
- w przypadku przekazania do metody jednocześnie parametrów orderId i trackingNumber przesyłki rozpoznawane są tylko wg numerów przesyłek
GetExternalIds
Pobranie zestawu zewnętrznych identyfikatorów.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
| model | nie | string | - | |
| klucz modułu / integracji | nie | string | - |
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$response = $client->GetExternalIds($authenticate);
header('Content-Type: application/xml');
echo $response;
Dane zwracane + komentarze:
<external_ids> <external_id> <module_key>MODULE_INTEGRATOR</module_key> <model>ShippingMethod</model> <atom_id>11</atom_id> <external_id>MI54</external_id> <external_name> <![CDATA[ Kurier ]]> </external_name> </external_id> </external_ids>
CreateShipment
Tworzenie przesyłek kurierskich.
Parametry wejściowe:
| nazwa | obowiązkowy | typ | domyślnie | opis |
| authenticate | tak | auth | - | struktura składająca się z pól 'login' i 'password' |
| message | tak | message | - | struktura zawierająca pole 'xml', które powinno zawierać ciąg znaków w formacie XML; opis formatu poniżej |
Format XML -SHIPX:
<shipments>
<shipment>
<comment>uwagi</comment><!-- uwagi dla kuriera -->
<order_id>100</order_id><!-- id zamówienia w AtomStore -->
<courier>shipx</courier>
<packages>
<package>
<parcels>
<parcel>
<type>Package</type>
<weight>34</weight>
<width>2</width>
<height>3</height>
<length>4</length>
</parcel>
</parcels>
</package>
</packages>
<services>
<service>
<code>COD</code><!-- usługa pobrania -->
<parameter1>50.00</parameter1>
<parameter2>PLN</parameter2>
<parameter3 />
</service>
<service>
<code>INSURANCE</code><!-- usługa ubezpieczenia -->
<parameter1 />
<parameter2>PLN</parameter2>
<parameter3 />
</service>
</services>
<sender>
<sender>
<name>AtomStore</name>
<street>Dobrego pasterza</street>
<street_number_1>13</street_number_1>
<street_number_2>6</street_number_2>
<postcode>32-400</postcode>
<city>Kraków</city>
<phone_number>123456789</phone_number>
<email>atomstore@atomstore.pl</email>
</sender>
</sender>
<pickupDate>2021-03-01</pickupDate><!-- data nadania przesyłki -->
</shipment>
</shipments>
Format XML - DPD Pickup Point:
<shipments> <shipment> <comment>comment</comment> <order_id>615</order_id> <courier>dpd</courier> <packages> <package> <parcels> <parcel> <type>Package</type> <weight>12</weight> <width /> <height /> <length /> </parcel> <parcel> <type>Package</type> <weight>12</weight> <width /> <height /> <length /> </parcel> </parcels> </package> </packages> <services> <service> <code>COD</code> <parameter1>0</parameter1> <parameter2>PLN</parameter2> <parameter3 /> </service> <service> <code>INSURANCE</code> <parameter1 /> <parameter2>PLN</parameter2> <parameter3 /> </service> <service> <code>PUDO</code> <parameter1>PL15130</parameter1> <parameter2 /> <parameter3 /> </service> </services> </shipment> </shipments>
Format XML - DPD:
<shipments> <shipment> <comment>comment</comment> <order_id>615</order_id> <courier>dpd</courier> <packages> <package> <parcels> <parcel> <type>Package</type> <weight>12</weight> <width>10</width> <height>10</height> <length>10</length> </parcel> <parcel> <type>Package</type> <weight>12</weight> <width>10</width> <height>10</height> <length>10</length> </parcel> </parcels> </package> </packages> <services> <service> <code>COD</code> <parameter1>0</parameter1> <parameter2>PLN</parameter2> <parameter3 /> </service> <service> <code>INSURANCE</code> <parameter1 /> <parameter2>PLN</parameter2> <parameter3 /> </service> </services> </shipment> </shipments>
Format XML - GLS:
<shipments>
<shipment>
<order_id>32</order_id>
<courier>gls</courier>
<packages>
<package>
<parcels>
<parcel>
<weight>10</weight>
</parcel>
<parcel>
<weight>10</weight>
</parcel>
</parcels>
</package>
</packages>
<pickup>
<date>2021-03-01</date>
</pickup>
<sender>
<name>Jan Kowalski</name>
<street>Turystyczna</street>
<street_number_1>2</street_number_1>
<street_number_2 />
<postcode>31-213</postcode>
<city>Kraków</city>
<phone_number>123987800</phone_number>
<email />
</sender>
<receiver>
<name>AtomStore</name>
<street>Dobrego Pasterza</street>
<street_number_1>11</street_number_1>
<street_number_2>22</street_number_2>
<postcode>32-400</postcode>
<city>Kraków</city>
<phone_number>13456789</phone_number>
<email>atomstore@atomstore.pl</email>
</receiver>
</shipment>
</shipments>
Przykładowe wywołanie (PHP):
$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$xml = '<shipments><shipment><comment>comment</comment><order_id>108572</order_id><courier>dpd</courier><packages><package><parcels><parcel><type>Package</type><weight>12</weight><width /><height /><length /></parcel></parcels></package></packages><services><service><code>COD</code><parameter1>0</parameter1><parameter2>PLN</parameter2><parameter3 /></service><service><code>INSURANCE</code><parameter1 /><parameter2>PLN</parameter2><parameter3 /></service><service><code>PUDO</code><parameter1>PL15130</parameter1><parameter2 /><parameter3 /></service></services></shipment></shipments>';
$message = array('xml' => $xml);
$response = $client->CreateShipment($authenticate, $message);
header('Content-Type: application/xml');
echo $response;
<shipments> <shipment> <order_id>615</order_id> <labels> <label> <tracking_number>A000048IE1</tracking_number> <url>https://demo.atomstore.pl/shipping_methods/get_courier_label?p=O%2BKFvPPhTXYijfeQeiA%3D%3D</url> </label> </labels> <tracking_numbers> <tracking_number>A000048IE1</tracking_number> </tracking_numbers> </shipment> <shipmentsCount>1</shipmentsCount> </shipments>

