Dokumentacja

Produkty

Zarządzanie produktami należącymi do użytkownika

Definicja

Obiekt Product zawiera następujące klucze:

ParametrTyp danychWymaganyOpis
idintegerTylko do odczytuID Produktu
namestringTakNazwa
symbolstringNiePKWiU / CN / PKOB deprecated
pkwiustringNiePKWiU
cnstringNieCN
pkobstringNiePKOB
unitstringNieJednostka miary
tax_symbolstringTakStawka VAT (lista obsługiwanych stawek)
quantityintegerNieIlość
net_priceintegerNieWartość netto w groszach
tax_priceintegerNiePodatek w groszach
gross_priceintegerNieWartość brutto w groszach
unit_net_priceintegerNieCena jednostkowa zakupu netto w groszach
purchase_unit_net_priceintegerNieCena zakupu netto w groszach
purchase_unit_gross_priceintegerNieCena zakupu brutto w groszach
flat_rate_tax_symbolstringW przypadku korzystania z ryczałtu ewidencjonowanegoDostępne stawki: 2, 3, 5.5, 8.5, 17, 20 (lista obsługiwanych stawek)
discountintegerNieWartość rabatu w procentach
unit_net_price_before_discountintegerNieCena zakupu netto w groszach przed rabatem
gtu_idintegerNieId kodu GTU (Oznaczenia dostaw towarów i świadczenia usług)

Listowanie produktów

GET /v3/products.json

Akcja listowania zwraca odpowiedź zawierającą tablicę obiektów pod kluczem entities oraz informacje pomocnicze dotyczące stronicowania. Domyślne sortowanie dla zwracanej tablicy odbywa się rosnące przy użyciu pola name.

Dodatkowo, na zbiorze danych można wykonywać nastepujące operacje:

Przykład akcji listowania:

Przykład curl

curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e" \
  https://api.infakt.pl/v3/products.json

Przykładowa odpowiedź

{
  "metainfo": {
      "count": 10,
      "total_count": 10,
      "next": "https://api.infakt.pl/api/v3/products.json?offset=10",
      "previous": "https://api.infakt.pl/api/v3/products.json?offset=0"
  },
  "entities": [{
    "id": 42,
    "name": "Usługa 1",
    ...
  }, {
    "id": 43,
    "name": "Produkt 2",
    ...
  }]
}

Możliwe kody odpowiedzi:

Kod odpowiedziOpis
200Zapytanie zostało wykonane poprawnie
401Brak autoryzacji lub uprawnień do danego zasobu

Podgląd produktu

GET /v3/products/{id}.json

Dodatkowo, na zbiorze danych można wykonywać nastepujące operacje:

Przykład curl

curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e" \
  https://api.infakt.pl/v3/products/42.json

Przykładowa odpowiedź

{
  "id": 42,
  "name": "Usługa 1",
  "symbol": "84.11.12.0/  /  ",
  "pkwiu": "84.11.12.0",
  "cn": "",
  "pkob": "",
  "unit": "",
  "tax_symbol": "23",
  "quantity": 1,
  ...
}

Możliwe kody odpowiedzi:

Kod odpowiedziOpis
200Zapytanie zostało wykonane poprawnie
401Brak autoryzacji lub uprawnień do danego zasobu

Tworzenie

POST /v3/products.json

Tworzenie

curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e" \
  -H "Content-Type: application/json" \
  -X POST
-d '{"product":{
  "name": "Usługa x",
  "unit": "szt.",
  "net_price": "40000",
  "tax_price": "9200",
  "gross_price": "49200",
  "tax_symbol": "23",
  ...
}}' \
  https://api.infakt.pl/v3/products.json

Możliwe kody odpowiedzi:

Kod odpowiedziOpis
201Zasób został poprawnie utworzony
422Zwracany wraz z informacją o błędach w przypadku problemów z zasobem.

Aktualizacja produktu

PUT /v3/products/{id}.json

Aktualizacja

curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e" \
  -H "Content-Type: application/json" \
  -X PUT \
 -d '{"product":{
  "name": "Produkt xy",
  "purchase_unit_net_price": "3500",
  "purchase_unit_gross_price": "43050",
  ...
}}' \
  https://api.infakt.pl/v3/products/1.json

Możliwe kody odpowiedzi:

Kod odpowiedziOpis
200Zapytanie zostało wykonane poprawnie
422Zwracany wraz z informacją o błędach w przypadku problemów z zasobem.

Usuwanie produktu

DELETE /v3/products/{id}.json

Usuwanie

curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e" \
    -X DELETE \
    https://api.infakt.pl/v3/products/1.json

Możliwe kody odpowiedzi:

Kod odpowiedziOpis
204Zwracany po poprawnym usunięciu zasobu.
401Brak autoryzacji lub uprawnień do danego zasobu