Chcesz przenieść sklep na nową platformę, ale nie wiesz jak to zrobić? Wszystkiego dowiesz się z e-booka "Migracja sklepu" Pobierz teraz

Dokumentacja sklepu

Metody - klienci

GetComplaints

Zwraca listę reklamacji.

 

Parametry wejściowe:

 

nazwa obowiązkowy typ domyślnie opis
authenticate tak auth - struktura składająca się z pól 'login' i 'password'
id nie int 0 id szukanej reklamacji.
ownNumber nie int - numer własny reklamacji
modified nie string 0000-00-00 00:00:00 zwrócenie reklamacji dodanych/zmienionych z tą datą lub później
 

 

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->GetComplaints($authenticate, 117);
header('Content-Type: application/xml');
echo $response;

 

Dane zwracane + komentarze: 

<complaints>
	<complaint>
		<number>WOW/2021/10/5</number> <!-- numer zgłoszenia (priorytet, wymagany) -->
		<id>117</id> <!-- id zgłoszenia w AtomStore -->
		<ownNumber>36136</ownNumber> <!-- nr własny zgłoszenia -->
		<orderID>65</orderID> <!-- numer zamówienia -->
		<user> <!-- dane użytkownika -->
			<atom_id>15</atom_id> <!-- id użytkownika w AtomStore -->
			<username><![CDATA[maciej.kowalski]]></username> <!-- nazwa użytkownika -->
			<email>maciej.kowalski@atomstore.pl</email> <!-- email -->
			<phone><![CDATA[ 123456789 ]]></phone> <!-- telefon -->
		</user>
		<pickupAddress> <!-- adres odbioru -->
			<firstName>Maciej</firstName> <!-- imie -->
			<lastName>Kowalski</lastName> <!-- nazwisko -->
			<company /> <!-- nazwa firmy -->
			<street>Turystyczna</street> <!-- ulica -->
			<streetNumber1>13</streetNumber1> <!-- nr domu -->
			<streetNumber2>6</streetNumber2> <!-- nr lokalu -->
			<postCode>31-917</postCode> <!-- kod pocztowy -->
			<city>Kraków</city> <!-- miasto -->
			<countryCode>pl</countryCode> <!-- kod kraju  (ISO 3166-1 alfa-2) -->
			<phone>123456789</phone> <!-- telefon -->
		</pickupAddress>
		<deliveryAddress> <!-- adres doręczenia -->
			<firstName>Michał</firstName>
			<lastName>Testowy Imoje</lastName>
			<company />
			<street>Dobrego Pasterza</street>
			<streetNumber1>13</streetNumber1>
			<streetNumber2>6</streetNumber2>
			<postCode>31-917</postCode>
			<city>Kraków</city>
			<countryCode>pl</countryCode>
			<phone>603603603</phone>
		</deliveryAddress>
		<product> <!-- zgłoszony produkt -->
			<id>100</id> <!-- id produktu w AtomStore -->
			<code>kkk111</code> <!-- kod produktu lub wariantu -->
			<productName> <!-- nazwa produktu -->
				<![CDATA[ Pompka do roweru ]]>
			</productName>
			<producer>
				<![CDATA[ Unibike ]]> <!-- nazwa producenta -->
			</producer>
		</product>
		<quantity>1</quantity> <!-- zamówiona ilość produktu -->
		<kind><![CDATA[Wymiana]]></kind> <!-- rodzaj zgłoszenia -->
		<type><![CDATA[Wada produktu]]></type> <!-- typ zgłoszenia-->
		<description><![CDATA[Produkt jest wadliwy]]></description> <!-- opis zgłoszenia -->
		<attachments> <!-- załączniki -->
			<attachment>http://demo.atomstore.pl/uploads/complaints/reklamacja1.jpeg</attachment> <!-- załącznik -->
		</attachments>
		<complaint_fields> <!-- pola własne zgłoszenia -->
			<complaint_field> <!-- pole własne zgłoszenia -->
				<id>11</id> <!-- id pola własnego -->
				<key>uzywany</key> <!-- klucz pola własnego -->
				<value><![CDATA[0]]></value> <!-- wartość pola -->
			</complaint_field>
		</complaint_fields>
		<created>2021-12-13 11:39:23</created> <!-- data utworzenia zgłoszenia w AtomStore-->
		<modified>2021-12-13 11:39:23</modified> <!-- data ostatniej modyfikacji zgłoszenia -->
		<considerationDate>2022-01-12</considerationDate> <!-- czas rozpatrzenia zgłoszenia -->
		<account_number>11 1111 1111 1111 1111 1111 1111</account_number> <!-- numer konta bankowego (do zwrotu środków) -->
		<status>Nowe</status> <!-- status zgłoszenia -->
		<priority>normal</priority> <!-- priorytet zgłoszenia -->
		<trackingNumber></trackingNumber> <!-- numer listu przewozowego -->
	</complaint>
</complaints>

 

Uwagi:

- dane zwracane są w kolejności modyfikacji reklamacji w bazie danych AtomStore, rosnąco.


GetNewsletterSubscribers

Pobranie informacji o subskrybentach newslettera.

 

Parametry wejściowe:

nazwa obowiązkowy typ domyślnie opis
authenticate tak auth - struktura składająca się z pól 'login' i 'password'
timestamp tak string - zawężenie danych do subskrybentów utworzonych albo zmodyfikowanych z datą równą lub późniejszą od podanej; format daty: 0000-00-00 00:00:00 (tj. rok, miesiąc, dzień, godzina)
 

 

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->GetNewsletterSubscribers($authenticate, '2015-06-13 23:59:59');
header('Content-Type: application/xml');
echo $response;

 

Dane zwracane + komentarze: 

<subscribers>
	<subscriber>
		<email><![CDATA[ maciej.kowalski@atomstore.pl ]]></email> <!-- adres e-mail -->
		<active>1</active> <!-- aktywność subskrybenta (1 = aktywny, 0 = nieaktywny) -->
		<modified>2015-06-14 12:03:38</modified> <!-- data ostatniej modyfikacji subskrybenta -->
	</subscriber>
	<subscriber>
		<email><![CDATA[ jan.nowak@gmail.com ]]></email>
		<active>0</active>
		<modified>2015-06-14 13:44:27</modified>
		<store_id>1,2</store_id> <!-- Jesli sklep jest multistore'em -->
	</subscriber>
</subscribers>

 

Uwagi:

- subskrybent nieaktywny to albo subskrybent nowy i niepotwierdzony, albo subskrybent dezaktywowany przez administratora, albo ktoś, kto wypisał się z newslettera, przy czym zależnie od konfiguracji sklepu wypisanie się może skutkować także całkowitym usunięciem rekordu z bazy danych.


GetUsers

Pobieranie kartotek klientów z możliwością różnicowania danych.

 

Parametry wejściowe:

////////////////////

nazwa obowiązkowy typ domyślnie opis
authenticate tak auth - struktura składająca się z pól 'login' i 'password'
created nie string 0000-00-00 00:00:00 zawężenie danych do kartotek utworzonych z datą równą lub późniejszą od podanej
active nie string   opcjonalne filtrowanie według aktywności klientów (0 = kartoteki nieaktywne, 1 = kartoteki aktywne, pusty ciąg znaków = brak filtrowania wg tego kryterium)
atomId nie int 0 selekcja pojedynczego klienta według jego id w AtomStore
externalId nie string   selekcja pojedynczego klienta według jego identyfikatora zewnętrznego
phrase nie string   wyszukiwanie po adresie e-mail, nazwie użytkownika lub numerze telefonu
 

 

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->GetUsers($authenticate, '2015-03-22 05:00:00');
header('Content-Type: application/xml');
echo $response;

 

Dane zwracane + komentarze: 

<users>
	<user>
		<atom_id>4195</atom_id> <!-- id klienta w AtomStore -->
		<external_id>u_1238902</external_id> <!-- zewnętrzny identyfikator klienta, o ile został nadany -->
		<created>2015-03-22 07:43:58</created> <!-- data utworzenia kartoteki w AtomStore-->
		<name><![CDATA[ Maciej Kowalski ]]></name> <!-- nazwa klienta -->
		<locale>pol</locale> <!-- domyślny język klienta -->
		<email>maciej.kowalski@atomstore.pl</email> <!-- aktualny adres e-mail -->
		<active>1</active> <!-- czy konto jest aktywne (1 = tak, 0 = nie) -->
		<credit>0.00</credit> <!-- aktualne saldo w kredycie kupieckim -->
		<credit_min></credit_min> <!-- minimalne saldo w kredycie kupieckim (brak wartości = minimum wg ustawień) -->
		<currency>PLN</currency> <!-- domyślna waluta klienta -->
		<payment_term>14</payment_term> <!-- termin płatności (pole obecne tylko przy włączonym module B2B) -->
		<client_group>Hurt</client_group> <!-- nazwa grupy, do której jest przypisany klient -->
		<wholesale>1</wholesale> <!-- czy grupa, do której przypisano klienta, to grupa hurtowa (1 = tak, 0 = nie) -->
		<loyalty_points>0</loyalty_points> <!-- ilość punktów w programie lojalnościowym -->
		<addresses> <!-- adresy klienta -->
			<address>
				<address_id>32311</address_id> <!-- id adresu -->
				<default>0</default> <!-- czy jest to domyślny adres dostawy (1 = tak, 0 = nie) -->
				<invoice>1</invoice> <!-- czy są to domyślne dane do faktury/rachunku (1 = tak, 0 = nie) -->
				<phone><![CDATA[ 543215432 ]]></phone> <!-- telefon -->
				<company><![CDATA[ NetArch ]]></company> <!-- nazwa firmy -->
				<nip><![CDATA[ 945-208-91-38 ]]></nip> <!-- NIP -->
				<postcode><![CDATA[ 31-213 ]]></postcode> <!-- kod pocztowy -->
				<city><![CDATA[ Kraków ]]></city> <!-- miasto -->
				<street><![CDATA[ Turystyczna ]]></street> <!-- ulica -->
				<street_number_1><![CDATA[ 777/2 ]]></street_number_1> <!-- nr domu/lokalu -->
				<firstname><![CDATA[ Maciej ]]></firstname> <!-- imię -->
				<lastname><![CDATA[ Kowalski ]]></lastname> <!-- nazwisko -->
				<country_code>pl</country_code> <!-- kod kraju  (ISO 3166-1 alfa-2) -->
				<state_code>12</state_code> <!-- kod województwa -->
			</address>
			<address>
				<address_id>32312</address_id>
				<default>1</default>
				<invoice>0</invoice>
				<phone><![CDATA[ 543215432 ]]></phone>
				<company><![CDATA[ ]]></company>
				<nip><![CDATA[ ]]></nip>
				<postcode><![CDATA[ 31-435 ]]></postcode>
				<city><![CDATA[ Kraków ]]></city>
				<street><![CDATA[ Partyzantów ]]></street>
				<street_number_1><![CDATA[ 5 ]]></street_number_1>
				<firstname><![CDATA[ Maciej ]]></firstname>
				<lastname><![CDATA[ Kowalski ]]></lastname>
				<country_code>pl</country_code>
				<state_code>12</state_code>
			</address>
		</addresses>
		<user_fields> <!-- dodatkowe pola w kartotece klienta -->
			<user_field>
				<key>wiek</key> <!-- klucz pola -->
				<name>Wiek</name> <!-- nazwa pola -->
				<value><![CDATA[ 39 lat ]]></value> <!-- wartość dla danego klienta -->
			</user_field>
			<user_field>
				<key>plec</key>
				<name>Płeć</name>
				<value><![CDATA[ mężczyzna ]]></value>
			</user_field>
		</user_fields>
	</user>
</users>

 

Uwagi:

- znaczniki <client_group> oraz <wholesale> nie zostaną zwrócone dla klientów nieprzypisanych do żadnej grupy,

- znacznik <loyalty_points> nie zostanie zwrócony przy wyłączonym programie lojalnościowym,

- liczba adresów może być pusta, może zawierać 1 pozycję (te same dane adresowe do faktury i do dostawy), może też zawierać więcej niż 2 pozycje.


SetClientGroupPrices

Zapis cen w cennikach odpowiadających zdefiniowanym grupom klientó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:

<client_group_prices>
	<client_group>
		<name>Hurtownicy</name> <!-- nazwa cennika -->
		<prices>
			<price>
				<code>k_111</code> <!-- kod produktu -->
				<value>10.1234</value> <!-- cena netto, precyzja do 4 miejsc po przecinku -->
			</price>
			<price>
				<product_external_id>ei99</product_external_id> <!-- identyfikator zewn. - alternatywna identyfikacja towaru -->
				<value>100</value>
			</price>
		</prices>
	</client_group>
</client_group_prices>

 

Przykładowe wywołanie (PHP): 

$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$xml = '<client_group_prices><client_group><name>Hurtownicy</name>';
$xml .= '<prices><price><code>k_111</code><value>10.1234</value></price></prices>';
$xml .= '</client_group></client_group_prices>';
$message = array('xml' => $xml);
$response = $client->SetClientGroupPrices($authenticate, $message);
echo $response;

 

Dane zwracane: 

OK 

 

Uwagi:

- metoda nie ingeruje w definicje grup klientów i w powiązania grup z cennikami (patrz: SetClientGroups), pozwala natomiast na tworzenie i uzupełnianie cenników nieprzypisanych do żadnej grupy,
- aktualnie nie ma możliwości podania cen w wartościach brutto,

- cenniki w AtomStore nie zawierają osobnych rekordów dla wariantów produktów, tak więc kody wariantów nie powinny figurować w wysyłanych danych.


SetClientGroups

Zarządzanie grupami klientów z automatycznym tworzeniem odpowiadającego cennika oraz z możliwością przypisania kontrahentó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:

<client_groups>
	<client_group>
		<name>Hurtownicy</name> <!-- nazwa grupy / cennika -->
		<users>
			<user> <!-- przypisanie klienta poprzez podanie jego zewnętrznego identyfikatora -->
				<external_id>k_10345</external_id>
			</user>
			<user> <!-- przypisanie klienta poprzez podanie jego identyfikatora w AtomStore -->
				<atom_id>23456</atom_id>
			</user>
		</users>
	</client_group>
	<client_group>
		<name>VIP</name>
	</client_group>
</client_groups>

 

Przykładowe wywołanie (PHP): 

$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$xml = '<client_groups><client_group><name>VIP</name></client_group></client_groups>';
$message = array('xml' => $xml);
$response = $client->SetClientGroups($authenticate, $message);
echo $response;

 

Dane zwracane: 

OK 

 

Uwagi:

- metoda powoduje zapis grupy klientów, ale też stworzenie i przypisanie do tej grupy cennika o identycznej nazwie,

- przypisanie klienta do grupy można realizować także poprzez metodę SetUsers, ale wówczas nieistniejąca grupa nie zostanie utworzona,
- grupy są idenfyfikowane po nazwie - obecnie nie ma możliwości zmiany nazwy istniejącej grupy.


SetNewsletterSubscriber

Dodanie, aktualizacja lub usunięcie subskrybenta. Aktualizacja tylko w zakresie przypisania adresu e-mail do wskazanej listy (grupy) subskrybentó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'
email tak string - adres e-mail
action tak int - 1 = dodanie lub aktualizacja subskrybenta, 0 = usunięcie subskrybenta z bazy sklepu
newsletter_group_id nie int 0 id zdefiniowanej w panelu sklepu listy (grupy), do której ma zostać przypisany subskrybent
confirmation_request nie int 0 wartość 1 przesłana podczas dodawania subskrybenta spowoduje, że zostanie do niego wysłany e-mail z prośbą o potwierdzenie subskrypcji; wartość 0 → brak takiej wiadomości, subskrybent zostanie dodany jako aktywny
 

 

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->SetNewsletterSubscriber($authenticate, 'maciej.kowalski@atomstore.pl', 0);
echo $response;

 

Dane zwracane: 

OK 

 

Uwagi:

- metoda nie pozwala na przypisanie adresu e-mail do więcej niż 1 listy subskrybentów ani też na wykreślanie subskrybentów z list.


SetUserExternalId

Nadanie klientowi zewnętrznego identyfikatora.

 

Parametry wejściowe:

nazwa obowiązkowy typ domyślnie opis
authenticate tak auth - struktura składająca się z pól 'login' i 'password'
atomId tak int - id klienta w AtomStore
externalId tak string - zewnętrzny identyfikator klienta
 

 

 

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->SetUserExternalId($authenticate, 9876, 'k_10345');
echo $response;

 

Dane zwracane: 

OK 

 

Uwagi:

- nie ma ograniczeń odnośnie formatu identyfikatora zewnętrznego, natomiast zalecane jest stosowanie tylko cyfr i liter (bez polskich znaków),
- zewnętrzny identyfikator kontrahenta będzie obecny w danych do odczytu (klienci - GetUsers, zamówienia - GetOrdersSpecified), można go także wykorzystać do wskazania klienta w metodach zapisu (klienci - SetUsers, SetClientGroups; zamówienia - SetOrders),
- metoda jest zalecana jedynie wtedy, gdy zarządzanie bazą kontrahentów odbywa się w zewnętrznym systemie, jednak nowi klienci mogą się także rejestrować po stronie Atoma; po pobraniu ich danych zintegrowany system powinien odesłać zwrotnie przydzielone takim klientom identyfikatory.


SetUsers

Tworzenie klientów i aktualizacja ich danych.

 

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:

<users>
	<user>
		<external_id>kh_98765</external_id> <!-- zewnętrzny identyfikator klienta -->
		<email>abcde@abcde.com</email> <!-- login / adres e-mail klienta -->
		<additional_email></additional_email> <!-- dodatkowy adres, jeśli login nie jest prawidłowym adresem e-mail (niezalecane) -->
		<name><![CDATA[PHU ABCDE]]></name> <!-- nazwa użytkownika -->
		<active>1</active> <!-- 1 = klient aktywny, 0 = zablokowany -->
		<tax>1</tax> <!-- 1 = normalny VAT w zamówieniach, 0 = samodzielny płatnik VAT (0%/zw) -->
		<client_group>VIP</client_group> <!-- nazwa grupy klienta w AtomStore -->
		<credit_min>0</credit_min> <!-- kredyt kupiecki: limit -->
		<credit>5000</credit> <!-- kredyt kupiecki: aktualne saldo kontrahenta -->
		<payment_term>14</payment_term> <!-- domyślny termin płatności (w dniach) -->
		<min_cart>200.00</min_cart> <!-- minimalna wartość zamówienia (w walucie domyślnej) -->
		<currency>EUR</currency> <!-- waluta kontrahenta -->
		<locale>pol</locale> <!-- język kontrahenta -->
		<addresses> <!-- dane adresowe -->
			<address>
				<default>1</default> <!-- domyślny adres dostawy (1 = tak, 0 = nie) -->
				<invoice>1</invoice> <!-- dane do faktury (1 = tak, 0 = nie) -->
				<firstname></firstname>
				<lastname></lastname>
				<company><![CDATA[PHU ABCDE]]></company>
				<nip><![CDATA[999-888-77-66]]></nip>
				<street><![CDATA[Nowa]]></street>
				<street_number_1>11</street_number_1>
				<street_number_2>22</street_number_2>
				<postcode><![CDATA[33-444]]></postcode>
				<city><![CDATA[Kraków]]></city>
				<state_code></state_code> <!-- kod województwa (opcjonalnie) -->
				<country_code><![CDATA[PL]]></country_code> <!-- kod kraju -->
				<phone/>
			</address>
		</addresses>
		<salesrep> <!-- przypisanie kontrahenta do handlowca (tylko w B2B) -->
			<email>sklep-h-99@sklep.pl</email> <!-- adres e-mail handlowca -->
			<firstname></firstname> <!-- imię handlowca (opcjonalnie) -->
			<lastname></lastname> <!-- nazwisko handlowca (opcjonalnie) -->
		</salesrep>
		<user_fields> <!-- dodatkowe pola opisujące klienta -->
			<user_field>
				<key><![CDATA[klucz_pola]]></key>
				<name><![CDATA[Nazwa pola]]></name>
				<value><![CDATA[wartość]]></value>
			</user_field>
		</user_fields>
		<payer> <!-- przypisanie płatnika (tylko w B2B) -->
			<external_id>ERP-776</external_id> <!-- identyfikator zewn. konta, które ma być płatnikiem kontrahenta -->
		</payer>
	</user>
	<user>
		<atom_id>123123</atom_id> <!-- wskazanie istniejącego klienta poprzez jego ID w AtomStore -->
		<!-- (...) -->
		<addresses>
			<address>
				<address_id>8812312</address_id> <!-- wskazanie istniejącego adresu poprzez jego ID w AtomStore -->
				<!-- (...) -->
			</address>
		</addresses>
	</user>
    <user>
        <atom_id>100</atom_id> <!-- wskazanie istniejącego klienta poprzez jego ID w AtomStore -->
        <deleted>1</deleted>  <!-- usuwa wskazanego użytkownika -->
    </user> 
</users>

 

Przykładowe wywołanie (PHP): 

$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$xml = '<users><user><external_id>kh_98765</external_id><name>PHU ABCDE</name></user></users>';
$message = array('xml' => $xml);
$response = $client->SetUsers($authenticate, $message);
header('Content-Type: application/xml');
echo $response;

 

Dane zwracane: 

<savedUsers>
	<savedUser>
		<user_id>123122</user_id>
		<external_id>kh_98765</external_id>
	</savedUser>
</savedUsers>

 

Uwagi:
- pole <external_id> jest wymagane podczas tworzenia nowego klienta,

- pole <atom_id> pozwala tylko na aktualizowanie kartotek (jeśli użytkownik o wskazanym id nie istnieje, dane są ignorowane),

- pole <email> nigdy nie służy do rozpoznania użytkownika; jeśli w danych nowego klienta nie podano adresu e-mail, to w zależności od ustawień dane są ignorowane lub login generowany jest jako user_x@ , gdzie x = <external_id>,

- pole <name> jest wymagane podczas tworzenia nowego klienta,

- pole <client_group> musi być uzupełnione nazwą grupy, która jest już zdefiniowana w sklepie,

- pole <locale> jest wykorzystywane tylko podczas tworzenia nowego klienta,

- pole <address> → <country_code> może być uzupełnione kodem lub nazwą kraju; jeśli kraj nie zostanie w ten sposób rozpoznany, do adresu zostanie przypisany kraj domyślny,

- pole <salesrep> może być uzupełnione danymi handlowca, który nie jest jeszcze zdefiniowany w sklepie - jego konto zostanie automatycznie dodane,

- pole <user_fields> może zawierać wartości niezdefiniowanych dotychczas pól - zostaną one automatycznie dodane do systemu,

- dane zwracane, <savedUsers>, zawierają jedynie wykaz dodanych użytkowników,

- nowy klient otrzymuje losowo wygenerowane hasło; przy odpowiedniej konfiguracji Atom API wysyła do niego wiadomość z opcjonalnie dołączonym odnośnikiem do strony, na której może wprowadzić nowe hasło do sklepu.

X


SetUsersLoyaltyPoints

Zapis zdarzenia w programie lojalnościowym, tzn. zmiana, zwiększenie lub zmniejszenie wskazanemu klientowi ilości punktów w programie lojalnościowym.

 

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:

<pointsChanges>
	<pointsChange>
		<atomId>4195</atomId> <!-- wskazanie klienta poprzez jego id w AtomStore -->
		<change>10</change> <!-- wartość ZMIANY ilości punktów -->
		<comments><![CDATA[ nagroda za polecenie sklepu ]]></comments> <!-- uwagi do zdarzenia, opcjonalnie -->
	</pointsChange>
	<pointsChange>
		<atomId>4195</atomId>
		<currentPoints>990</currentPoints> <!-- ustawienie ŁĄCZNEJ ilości punktów na koncie klienta -->
	</pointsChange>
	<pointsChange>
		<externalId>u_1238902</externalId> <!-- wskazanie klienta poprzez jego zewn. identyfikator -->
		<change>-50</change>
		<comments><![CDATA[ wymiana punktów w sklepie stacjonarnym ]]></comments>
	</pointsChange>
</pointsChanges>

 

Przykładowe wywołanie (PHP): 

$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$xml = '<pointsChanges><pointsChange>';
$xml .= '<atomId>4195</atomId><change>10</change><comments><![CDATA[ +10 punktów ]]></comments>';
$xml .= '</pointsChange></pointsChanges>';
$message = array('xml' => $xml);
$response = $client->SetUsersLoyaltyPoints($authenticate, $message);
echo $response;

 

Dane zwracane: 

OK 

 

Uwagi:

- wartości przekazywane w polach <change> i <currentPoints> mogą być ujemne (poprzedzone minusem),

- jeśli w 1 zdarzeniu przekazano zarówno <change>, jak i <currentPoints>, wykorzystane zostanie tylko pole <currentPoints>,

- po przetworzeniu danych metoda zwraca "OK"; aby potwierdzić ilość punktów klienta po zmianie, należy wywołać metodę GetUsers.


GetPartners

Zwraca partnerów jeśli włączony jest program partnerski.

 

Parametry wejściowe:

nazwa obowiązkowy typ domyślnie opis
authenticate tak auth - struktura składająca się z pól 'login' i 'password'
partnerId nie int 0 Filtrowanie według id partnera
partnerEmail nie string   Filtrowanie według email partnera
timestamp nie string 0000-00-00 00:00:00 Filtrowanie po dacie utworzenia wpisu w historii naleznosci partnera
 

 

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->GetPartners($authenticate, 1, '', '2015-03-22 05:00:00');
header('Content-Type: application/xml');
echo $response;

 

Dane zwracane + komentarze: 

<partners>
	<partner>
		<partnerID>1</partnerID> <!-- id partnera w AtomStore -->
		<userID>123</userID> <!-- id usera powiazanego z partnerem w AtomStore -->
		<click_charge>2.00</click_charge>
		<purchase_charge>2.00</purchase_charge>
		<purchase_commission>2.00</purchase_commission>
		<current_charge>2.00</current_charge>
		<paymentHistory> <!-- Historia naleznosci -->
			<payment>
				<action>32311</action> <!-- akcja naleznosci -->
				<created>2020-01-01 00:00:00</created> <!-- Data naleznosci -->
				<value>12.00</value> <!-- wartosc naleznosci -->
				<orderID>123123</orderID> <!-- Zamowienie powiazane z naleznoscia -->
			</payment>
		</paymentHistory>
	</partner>
</partners>

 

Uwagi:

-


SetPartners

Ustawienie należności partneró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:

<partners>
		<partner>
			<id>123</id> <!-- ID partnera -->
			<charge>30.00</charge> <!-- Nowa nalezność -->
		</partner>
		<partner>
			<email>123</email> <!-- Email partnera -->
			<charge>30.00</charge> <!-- Nowa nalezność -->
		</partner>
</partners>

 

Przykładowe wywołanie (PHP): 

$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$xml = '<partners>';
$xml .= '<partner>';
$xml .= '<id>123</id><charge>30.00</charge>';
$xml .= '</partner>';
$xml .= '</partners>';
$message = array('xml' => $xml);
$response = $client->SetPartners($authenticate, $message);
echo $response;

 

Dane zwracane: 

OK 

 

Uwagi:


SetComplaints

Zapis reklamacji lub zwrotu

 

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:

<complaints>
	<complaint>
		<number>WOW/2021/10/5</number>  <!-- numer nowego zgłoszenia (wymagane) -->
		<ownNumber>36136</ownNumber> <!-- nr własny zgłoszenia -->
		<statusID>1</statusID> <!-- id statusu zgłoszenia (priorytet) -->
		<status>Nowe</status> <!-- status zgłoszenia -->
		<orderSynchID>8001</orderSynchID> <!-- id zamówienia w sklepie głównym - synchronizacja -->
		<orderID>8001</orderID> <!-- id zamówienia w sklepie głównym -->
		<pickupAddress> <!-- adres odbioru -->
			<firstName>Maciej</firstName> <!-- imie -->
			<lastName>Kowalski</lastName> <!-- nazwisko -->
			<company /> <!-- nazwa firmy -->
			<street>Turystyczna</street> <!-- ulica -->
			<streetNumber1>13</streetNumber1> <!-- nr domu -->
			<streetNumber2>6</streetNumber2> <!-- nr lokalu -->
			<postCode>31-917</postCode> <!-- kod pocztowy -->
			<city>Kraków</city> <!-- miasto -->
			<countryCode>pl</countryCode> <!-- kod kraju  (ISO 3166-1 alfa-2) -->
			<phone>123456789</phone> <!-- telefon -->
		</pickupAddress>
		<deliveryAddress> <!-- adres doręczenia -->
			<firstName>Michał</firstName>
			<lastName>Testowy Imoje</lastName>
			<company />
			<street>Dobrego Pasterza</street>
			<streetNumber1>13</streetNumber1>
			<streetNumber2>6</streetNumber2>
			<postCode>31-917</postCode>
			<city>Kraków</city>
			<countryCode>pl</countryCode>
			<phone>603603603</phone>
		</deliveryAddress>
		<quantity>0</quantity> <!-- zamówiona ilość produktu -->
		<description><![CDATA[Produkt jest wadliwy]]></description> <!-- opis zgłoszenia -->
		<account_number>11 1111 1111 1111 1111 1111 1111</account_number> <!-- numer konta bankowego (do zwrotu środków) -->
		<considerationDate>2022-01-12</considerationDate> <!-- czas rozpatrzenia zgłoszenia -->
		<created>2021-12-13 11:39:23</created> <!-- data utworzenia zgłoszenia w AtomStore-->
		<trackingNumber>5689276279476</trackingNumber> <!-- numer listu przewozowego -->
		<priority>normal</priority> <!-- priorytet zgłoszenia ('low', 'normal', 'high') -->
		<product> <!-- zgłoszony produkt -->
			<code>kkk111</code> <!-- kod produktu lub wariantu (wymagany) -->
			<name> <!-- nazwa produktu (opcjonalne) -->
				<![CDATA[ Pompka do roweru ]]>
			</name>
			<producer>
				<![CDATA[ Unibike ]]> <!-- nazwa producenta (opcjonalne) -->
			</producer>
		</product>
		<user> <!-- dane użytkownika -->
			<email>maciej.kowalski@atomstore.pl</email> <!-- email (wymagany) -->
			<username><![CDATA[maciej.kowalski]]></username> <!-- nazwa użytkownika -->
			<phone><![CDATA[ 123456789 ]]></phone> <!-- telefon -->
		</user>
		<kind><![CDATA[Wymiana]]></kind> <!-- rodzaj zgłoszenia -->
		<type><![CDATA[Wada produktu]]></type> <!-- typ zgłoszenia-->
		<external_ids>
			<external_id> <!-- zapis external_id -->
				<id>163745</id> <!-- id zewnętrzne -->
				<name></name> <!-- nazwa zewnętrzna -->
				<inventory_supplier_id></inventory_supplier_id> <!-- id dostawcy -->
				<module_key></module_key> <!-- nazwa modułu -->
			</external_id>
		</external_ids>
		<attachments> <!-- załączniki -->
			<attachment>http://demo.atomstore.pl/uploads/complaints/reklamacja1.jpeg</attachment> <!-- załącznik -->
		</attachments>
		<custom_complaint_fields> <!-- zapis pól własnych -->
			<uzywany><![CDATA[0]]></uzywany>
		</custom_complaint_fields>
		<custom_fields> <!-- zapis pól własnych -->
			<custom_field>
				<key>uzywany</key> <!-- klucz pola własnego -->
				<value><![CDATA[33]]></value> <!-- wartość pola własnego -->
			</custom_field>
		</custom_fields>
	</complaint>
	<complaint>
		<number>WOW/2021/10/5</number>  <!-- numer nowego zgłoszenia (wymagane) -->
		<orderID>8001</orderID> <!-- id zamówienia w sklepie głównym -->
		<products> <!-- wiele produktów -->
			<product>
				<code>PROD_3578385</code> <!-- kod produktu lub wariantu (wymagany) -->
				<description><![CDATA[Produkt jest wadliwy]]></description> <!-- opis zgłoszenia dla produktu -->
				<quantity>1</quantity> <!-- zamówiona ilość produktu -->
			</product>
			<product>
				<code>PROD_3573636</code> <!-- kod produktu lub wariantu (wymagany) -->
				<description><![CDATA[Produkt jest wadliwy]]></description> <!-- opis zgłoszenia dla produktu -->
				<quantity>1</quantity> <!-- zamówiona ilość produktu -->
			</product>
		</products>
	</complaint>
	<complaint>
		<number>WOW/2021/10/5</number> <!-- numer zgłoszenia, które ma zostać zaktualizowane -->
		<id>117</id> <!-- id zgłoszenia w AtomStore, które ma zostać zaktualizowane -->
		<account_number>22 2222 2222 2222 2222 2222 2222</account_number> <!-- numer konta bankowego (do zwrotu środków) -->
	</complaint>
</complaints>

 

Przykładowe wywołanie (PHP): 

$client = new SoapClient('http://demo.atomstore.pl/atom_api/wsdl/atom_api');
$authenticate = array('login' => 'admin', 'password' => 'admin');
$xml = '<complaints><complaint><number>WOW/2021/10/5</number><id>117</id><account_number>22 2222 2222 2222 2222 2222 2222</account_number></complaint></complaints>';
$message = array('xml' => $xml);
$response = $client->SetComplaints($authenticate, $message);
echo $response;

 

Dane zwracane: 

OK 

 

Uwagi:

- status można przekazać poprzez ID w Atomie (statusID) lub nazwą (status)

- rodzaj (kind) za pomocą nazwy
- typ (type) też za pomocą nazwy


AtomStore to platforma e-commerce dla dużych i średnich sklepów internetowych, która pozwola elastycznie zarządzać ofertą i szybko skalować sprzedaż. System działa w modelu SaaS Enterprise i jest dedykowany każdemu modelowi biznesowemu - B2C, B2B oraz omnichannel. Nasze rozwiązanie oferuje wszystko, czego potrzebujesz w sklepie online w jednym miejscu.

Znajdź nas na:

  • Blog
  • Facebook
  • Youtube
  • Linked in
  • iab