Specyfikacja plików w formacie CSV
Uzyskanie tokenu
Przed wywołaniem akcji importu należy najpierw uzyskać token za pomocą metody api
https://domena.pl/backendApi/login
Przykład użycia curl:
curl -H "X-ApiKey: klucz" --data '{"username":"login"}' -X POST "https://domena.pl/backendApi/login
Odpowiedź powinna wyglądać następująco: {"token":"c55cf6ff713b22e353c2224e0063a37c02d87f62"}
Uzyskany token jest następnie użyty przy komunikacji z API.
Import danych
1. Zakładanie nowych lub aktualizacja istniejących towarów.
Tab. 1. Żądanie
Metoda | URL |
---|---|
POST | /import/products |
Tab. 2. Parametry żądania Typ Parametr Wartość HEAD X-ApiKey string Przykład użycia curl: curl -F 'file=@/ścieżka/do/pliku' -H 'X-ApiKey: klucz' -H "X-Token: token" -H 'Content-Type: text/csv' https://nazwa_domeny/import/products Specyfikacja pliku z produktami Plik musi być w formacie csv z następującą kolejnością pól: produkt_id,nazwa,kod_paskowy,producent_id,jednostka,gramatura_netto,opis kolejne produkty muszą być oddzielone znakiem nowej linii Tab. 3. Opis pól pliku z produktami Nazwa pola Opis Dodatkowe informacje produkt_id Identyfikator prouktu w sklepie nazwa Nazwa kod_paskowy Kod paskowy producent_id Identyfikator producenta Podane id musi istnieć w bazie producentów jednostka Identyfikator jednostki miary Np. szt, kg, op gramatura_netto Waga w gramach bez opakowania opis Opis produktu wyświetlany na stronie 2. Tworzenie lub modyfikacja powiązań towarów ze sklepami. Tab. 4. Żądanie Metoda URL POST /import/productsShop Tab. 5. Parametry żądania Typ Parametr Wartość HEAD X-ApiKey string Przykład użycia curl: curl -F 'file=@/ścieżka/do/pliku' -H 'X-ApiKey: klucz' -H "X-Token: token" -H 'Content-Type: text/csv' https://nazwa_domeny/import/productsShop Specyfikacja pliku z powiązaniami produktów ze sklepami Plik musi być w formacie csv z następującą kolejnością pól produkt_id,cena,nowosc,promocja,gazetka,reklama,stan kolejne powiązania muszą być oddzielone znakiem nowej linii Tab. 6. Opis pól pliku z powiązaniami Nazwa pola opis Dodatkowe informacje produkt_id Identyfikator produktu z danego sklepu cena Cena brutto wyrażona w groszach nowosc Czy dany towar jest nowością Możliwe wartości: 0 lub 1 promocja Czy dany towar jest w promocji Możliwe wartości: 0 lub 1 gazetka Czy dany towar jest z aktualnej gazetki Możliwe wartości: 0 lub 1 reklama Dodatkowe promowanie produktów w wynikach wyszukiwania Możliwe wartości: 1 - 10 stan Liczba towaru na stanie 1000 oznacza 1 sztukę lub 1 kilogram 3. Tworzenie lub modyfikacja powiązań towarów ze sklepami. Tab. 7. Żądanie Metoda URL POST /import/categories Tab. 8. Parametry żądania Typ Parametr Wartość HEAD X-ApiKey string Przykład użycia curl: curl -F 'file=@/ścieżka/do/pliku' -H 'X-ApiKey: klucz' -H "X-Token: token" -H 'Content-Type: text/csv' https://nazwa_domeny/import/categories Specyfikacja pliku z kategoriami Plik musi być w formacie csv z następującą kolejnością pól id,nadrzedna_id,nazwa,opis kolejne kategorie muszą być oddzielone znakiem nowej linii Tab. 9. Opis pól pliku z kategoriami Nazwa pola opis Dodatkowe informacje id Id kategorii nadrzedna_id Id kategorii nadrzędnej (puste jeśli kategoria jest kategorią główną) Podane id musi istnieć w bazie kategorii nazwa Nazwa kategorii opis Opis kategorii 4. Tworzenie lub modyfikacja producentów Tab. 10. Żądanie Metoda URL POST /import/brands Tab. 11. Parametry żądania Typ Parametr Wartość HEAD X-ApiKey string Przykład użycia curl: curl -F 'file=@/ścieżka/do/pliku' -H 'X-ApiKey: klucz' -H "X-Token: token" -H 'Content-Type: text/csv' https://nazwa_domeny/import/brands Specyfikacja pliku z producentami Plik musi być w formacie csv z następującą kolejnością pól id,nazwa kolejni producenci muszą być oddzieleni znakiem nowej linii Tab. 12. Opis pól pliku z producentami Nazwa pola opis Dodatkowe informacje id Id producenta nazwa Nazwa producenta Eksport danych 1. Eksport produktów Tab. 13. Żądanie Metoda URL GET /export/products Tab. 14. Parametry żądania Typ Parametr Wartość HEAD X-ApiKey string Przykład użycia curl: curl -H 'X-ApiKey: klucz' -H "X-Token: token" -H -o nazwa_pliku https://nazwa_domeny / expor t / product s Specyfikacja pliku z produktami Plik w formacie csv z następującą kolejnością pól: produkt_id,nazwa,kod_paskowy,producent_id,jednostka,gramatura_netto,opis Opis pól jest analogiczny do importowanych. Kolejne produkty oddzielone znakiem nowej linii 2. Eksport powiązań produktów Tab. 15. Żądanie Metoda URL GET /export/productsShop Tab. 16. Parametry żądania Typ Parametr Wartość HEAD X-ApiKey string Przykład użycia curl: curl -H 'X-ApiKey: klucz' -H "X-Token: token" -H -o nazwa_pliku https://nazwa_domeny / expor t / product sShop Specyfikacja pliku z produktami Plik w formacie csv z następującą kolejnością pól: produkt_id,cena,nowosc,promocja,gazetka,reklama,stan Opis pól jest analogiczny do importowanych. Kolejne produkty oddzielone znakiem nowej linii 3. Eksport kategorii Tab. 17. Żądanie Metoda URL GET /export/categories Tab. 18. Parametry żądania Typ Parametr Wartość HEAD X-ApiKey string Przykład użycia curl: curl -H 'X-ApiKey: klucz' -H "X-Token: token" -H -o nazwa_pliku https://nazwa_domeny / expor t / categories Specyfikacja pliku z produktami Plik w formacie csv z następującą kolejnością pól: id,nadrzedna_id,nazwa,opis Opis pól jest analogiczny do importowanych. Kolejne produkty oddzielone znakiem nowej linii 4. Eksport producentów Tab. 19. Żądanie Metoda URL GET /export/brands Tab. 20. Parametry żądania Typ Parametr Wartość HEAD X-ApiKey string Przykład użycia curl: curl -H 'X-ApiKey: klucz' -H "X-Token: token" -H -o nazwa_pliku https://nazwa_domeny / expor t / brands Specyfikacja pliku z produktami Plik w formacie csv z następującą kolejnością pól: id,nazwa Opis pól jest analogiczny do importowanych. Kolejne produkty oddzielone znakiem nowej linii 5. Eksport zamówień Tab. 21. Żądanie Metoda URL GET /export/orders Tab. 22. Parametry żądania Typ Parametr Wartość HEAD X-ApiKey string HEAD X-Token string HEAD Accept application/json lub application/xml GET fromDate Data format YYYY-MMDD GET statuses Int oddzielone przecinkami: np. 0,1,2 GET limit Int z zakresu 1, 100 GET Page Int > 0 statusy zamówień: id | nazwa
+-----------------------------------
0 | Nowe 1 | Przypisane do operatora 2 | W trakcie kompletacj 3 | Skompletowane. Czeka na transport 4 | W trakcie transportu 5 | Spakowane. Czeka na paragon 10 | Zakonczone 12 | Anulowane Przykład użycia curl: curl -H 'X-ApiKey: klucz' -H "X-Token: token" -H -o nazwa_pliku https://nazwa_domeny / expor t /orders?fromDate=2020-01- 01&statuses=0,1,5&limit=10&page=1 Zamówienia są eksportowane w formacie json lub xml w zależności od parametru. Przykładowa odpowiedz w formacie json: [ { "id": 1462936, "data": "2020-02-17", "czas": "2020-02-17 12:25:25", "data_odbioru": "2020-02-21 17:00:00", "koszt_dostawy": 999, "adres": { "imie": "Micha\u0142", "nazwisko": "Motyczko", "kod": "01-100", "miasto": "Warszawa", "ulica": "Aleje Jerozolimskie 23\/4", "telefon": "123456789" }, "prezent": false, "kwota_rabatu": 0, "klient": { "id": 353322 }, "status": "Nowe", "metoda_platnosci": "Got\u00f3wka", "sklep": "Warszawa", "produkty": [ { "plu": 290403, "ilosc_zamowiona": 5000, "ilosc_zrealizowana": 5000, "cena": 299, "wartosc": 1495000, "uwagi": "", "produkt": { "nazwa": "\u015aLEDZIKI NA\/RAZ\/S\/\u015aMIET 100", "kod_paskowy": "5900344403664", "plu_sklepowe": 130728 } } ] } ] 6. Zmiana statusu zamówienia: POST /backendApi/updateOrderStatus Parametry: order - int - numer zamówienia status - int - nowy status zamówienia Możliwe statusy (id - nazwa) 0 - "Nowe" 1 - "Przypisane do operatora" 2 - "W trakcie kompletacj" 3 - "Skompletowane. Czeka na transport" 4 - "W trakcie transportu" 5 - "Spakowane. Czeka na paragon" 10 - "Zakonczone" 12 - "Anulowane" Zwraca: 403 - przy braku autoryzacji 404 - jak nie znajdzie zamówienia 200 - w innym wypadku: aktualizacja ok - ['status' => 'success', 'errors' => null, 'message' => 'Status został zaktualizowany.), błędy walidacji danych - ['status' => 'failed', 'errors' => [/Tablica błędów/], 'message' => null] cURL: curl --location --request POST 'http://admin.sklep.localhost:8999/backendApi/updateOrderStatus' \ --header 'x-token: [token]' \ --header 'x-apikey: [api-key]' \ --form 'order=1462929' \ --form 'status=1' lub curl --location --request POST 'http://admin.sklep.localhost:8999/backendApi/updateOrderStatus' \ --header 'x-token: [token]' \ --header 'x-apikey: [api-key]' \ --header 'Content-Type: application/json' \ --data-raw '{"order": 1462929, "status": 1}'