- CheckConnection – test połączenia i autoryzacji w Atom API
- GetAllegroAuctions – pobranie aukcji Allegro
- GetCurrencies – pobranie kursów walut
- GetDocuments – pobranie dokumentów B2B
- GetPaymentMethods – pobranie definicji form płatności
- GetShippingMethods – pobranie definicji form dostawy
- GetShippingMethodsIndividuals – pobranie indywidualnych warunków dostawy
- GetStores – pobranie listy sklepów (multistore)
- SetCoupons – tworzenie i aktualizacja kuponów
- SetCurrencies – aktualizacja kursów walut
- SetDocuments – tworzenie i aktualizacja dokumentów B2B
- SetMdkInvoices – zapis faktur (metoda niezalecana)
- SetMdkPayments – zapis rozrachunków (metoda niezalecana)
- SetShippingMethods – zapis form dostawy
- UpdateOrders – aktualizacja zamówień (metoda niezalecana)
- SetShippingMethodsIndividuals – Ustawienie indywidualnych warunków dostawy
- GetShipmentLabels – Zwraca etykiete przysyłki
- GetExternalIds – Pobranie zestawu zewnętrznych identyfikatorów
- CreateShipment – Tworzenie przesyłek kurierskich
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>';<br>$xml .= '<id>1</id>';<br>$xml .= '<code>HHG-0302</code>';<br>$xml .= '<active>1</active>';<br>$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>

