Specyfikacja plików w formacie CSV: Różnice pomiędzy wersjami

Z Pomoc Netis
mNie podano opisu zmian
mNie podano opisu zmian
 
(Nie pokazano 4 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 86: Linia 86:


''Przykład użycia curl:''
''Przykład użycia curl:''
curl -F 'file=@/ścieżka/do/pliku' -H 'X-ApiKey: klucz' -H "X-Token: token" -H
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
'Content-Type: text/csv' https://nazwa_domeny/import/productsShop
Linia 134: Linia 135:


''Przykład użycia curl:''
''Przykład użycia curl:''
curl -F 'file=@/ścieżka/do/pliku' -H 'X-ApiKey: klucz' -H "X-Token: token" -H
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
'Content-Type: text/csv' https://nazwa_domeny/import/categories
Linia 176: Linia 178:


''Przykład użycia curl:''
''Przykład użycia curl:''
curl -F 'file=@/ścieżka/do/pliku' -H 'X-ApiKey: klucz' -H "X-Token: token" -H
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
'Content-Type: text/csv' https://nazwa_domeny/import/brands
Linia 216: Linia 219:


''Przykład użycia curl:''
''Przykład użycia curl:''
curl -H 'X-ApiKey: klucz' -H "X-Token: token" -H -o nazwa_pliku
curl -H 'X-ApiKey: klucz' -H "X-Token: token" -H -o nazwa_pliku
https://nazwa_domeny/export/products
https://nazwa_domeny/export/products
Linia 225: Linia 229:
Opis pól jest analogiczny do importowanych.
Opis pól jest analogiczny do importowanych.
Kolejne produkty oddzielone znakiem nowej linii
Kolejne produkty oddzielone znakiem nowej linii
'''2. Eksport powiązań produktów'''
''Tab. 15. Żądanie''
{| class="wikitable"
|-
! Metoda !! URL
|-
| GET || /export/productsShop
|}
''Tab. 16. Parametry żądania''
{| class="wikitable"
|-
! 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/export/productsShop
'''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''
{| class="wikitable"
|-
! Metoda !! URL
|-
| GET || /export/categories
|}
''Tab. 18. Parametry żądania''
{| class="wikitable"
|-
! 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/export/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''
{| class="wikitable"
|-
! Metoda !! URL
|-
| GET || /export/brands
|}
''Tab. 20. Parametry żądania''
{| class="wikitable"
|-
! 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/export/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''
{| class="wikitable"
|-
! Metoda !! URL
|-
| GET || /export/orders
|}
''Tab. 22. Parametry żądania''
{| class="wikitable"
|-
! Typ !! Parametr !! Wartość
|-
| HEAD || X-ApiKey || string
|-
| HEAD || X-Token || string
|-
| HEAD || Accept || application/json lub application/xml
|-
| GET || formDate || Data format YYYY-MM-DD
|-
| 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 kompletacji
        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ł",
        "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ówka",
      "sklep": "Warszawa",
      "produkty": [
        {
            "plu": 290403,
            "ilosc_zamowiona": 5000,
            "ilosc_zrealizowana": 5000,
            "cena": 299,
            "wartosc": 1495000,
            "uwagi": "",
            "produkt": {
              "nazwa": "ŚLEDZIKI NA/RAZ/S/ŚMIET 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}'

Aktualna wersja na dzień 11:50, 10 lis 2020

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 produktu 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
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/export/products

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/export/productsShop

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/export/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/export/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 formDate Data format YYYY-MM-DD
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 kompletacji
       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ł",
        "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ówka",
     "sklep": "Warszawa",
     "produkty": [
        {
           "plu": 290403,
           "ilosc_zamowiona": 5000,
           "ilosc_zrealizowana": 5000,
           "cena": 299,
           "wartosc": 1495000,
           "uwagi": "",
           "produkt": {
              "nazwa": "ŚLEDZIKI NA/RAZ/S/ŚMIET 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}'