Morffeus Docs
ENSR morffeus.com

Paginacija i filtriranje

Endpointi za liste vraćaju jednu po jednu stranicu. Stranicu birate sa offset i limit, a do kraja ste stigli kad stranica vrati manje redova nego što ste tražili. Liste ne kažu koliko redova ima ukupno.

Stranice#

limit je koliko redova želite, offset koliko da se preskoči. Druga stranica od po 100 je offset=100&limit=100.

Odgovor je stranica pod data i ništa više: nema ukupnog broja, broja stranica ni linka ka sledećoj. Nastavite da tražite sa većim offset dok stranica ne bude kraća od limit.

Svaka lista ima svoju podrazumevanu veličinu stranice, zato uvek šaljite limit. Idite kroz stranice stalnim redosledom: kad se zapisi menjaju dok čitate, red može da pređe sa jedne stranice na sledeću.

Sve porudžbine, stranicu po stranicu
const limit = 100;
const orders = [];
for (let offset = 0; ; offset += limit) {
  const url = `https://api.morffeus.com/api/v2/orders` +
    `?orderBy=id&offset=${offset}&limit=${limit}`;
  const res = await fetch(url, {
    headers: { Authorization: `Bearer ${process.env.MORFFEUS_TOKEN}` }
  });
  const { data } = await res.json();
  orders.push(...data);
  if (data.length < limit) break;
}

Liste#

EndpointStranice
GET /productsoffset i limit, podrazumevano 10. Takođe pageNo i perPage: pageNo=3&perPage=20 je offset=40&limit=20. Proizvodi su u data.products; pogledajte Vaš prvi zahtev.
GET /ordersoffset i limit, podrazumevano 30, najviše 10.000 po stranici.
GET /warehousesoffset i limit, podrazumevano 30.
GET /stocksoffset i limit, podrazumevano 30.

Sortiranje#

EndpointKako sortirati
GET /ordersorderBy sa jednim poljem i, po želji, asc ili desc, na primer orderBy=order_date desc. Polja: id, order_number, order_date, invoice_number, sales, net_sales, discount, vat, paid, debt, customer_name. Samo polje sortira rastuće. Sve drugo se bez greške vraća na podrazumevano, od najnovijih. Redovi sa istom vrednošću ređaju se po id, od najnovijih.
GET /productsorderBy sa name, price (najniža cena proizvoda), inserted_at ili sales_quantity, a iza njega desc malim slovima za obrnuti redosled: orderBy=price desc. Više njih odvojite zarezom bez razmaka. Podrazumevano: po nazivu; uz search, prvo najbolja poklapanja.
GET /warehousesPo nazivu.
GET /stocksPo proizvodu.

Filtriranje#

Filteri su parametri upita u camelCase obliku. Identifikatori su naši; šifre su vaše.

EndpointFilteri
GET /productssearch (nazivi proizvoda), searchAll (nazivi, šifre proizvoda i varijanti i barkodovi), code, barcode, slug, id, priceFrom, priceTo, onlyOnStock. Samo jedno od code, barcode, slug ili id vraća jedan proizvod.
GET /orderssearch (broj porudžbine i računa, ime kupca, email i telefon), customerId, appLocationId, dateTimeFrom, dateTimeTo.
GET /stockswarehouseId, productId, productVariantId. Pogledajte Zalihe.
GET /warehousessearch (naziv, šifra, adresa, grad i poštanski broj).

Datumi#

Datume šaljite u ISO 8601 obliku, samo datum ili datum i vreme: 2026-09-01 ili 2026-09-01T14:30:00. Oba kraja su uključena. Sam datum znači ponoć na početku tog dana, pa se dateUntil=2026-09-30 završava kad 30. počinje; pošaljite 2026-09-30T23:59:59 da obuhvatite ceo dan.

Poslednja izmena 1. oktobra 2026. · API v2 Nešto nije u redu na ovoj stranici?