Morffeus Docs
ENSR morffeus.com

Vaš prvi zahtev

Tri koraka od praznog terminala do jednog čitanja i jednog upisa: podesite token, pročitajte proizvode, izmenite zalihe. Potreban vam je token iz User › Tokens u Admin-u i terminal sa curl-om.

Podesite token#

Napravite token u Admin-u pod User › Tokens, kako je opisano na stranici Autentifikacija. Čuvajte ga u promenljivoj okruženja, da ne završi u kodu ni u komandama koje delite.

Svaki poziv ide na https://api.morffeus.com/api/v2 i nosi token u zaglavlju Authorization: Bearer. Primeri na ovim stranicama čitaju ga iz MORFFEUS_TOKEN.

Shell
export MORFFEUS_TOKEN="ovde-nalepite-token"

Pročitajte proizvode#

GET /api/v2/products

Vaši proizvodi onako kako ih vidi vaša prodavnica: sa cenama za tržište i valutu tokena, sa tekstovima na njegovom jeziku, i samo aktivni. Ako vaša aplikacija nije podešena da prikazuje sve, dobijate samo proizvode na stanju; pošaljite onlyOnStock=false da dobijete sve aktivne proizvode. Dobijate 10 proizvoda ako ne postavite limit.

Svaki odgovor je JSON sa sadržajem pod data. Ovde je data.products stranica koju ste tražili, a product_attributes i product_data_values opisuju filtere koje prodavnica može da ponudi; sinhronizacija ih može zanemariti. Dodajte productListOnly=true i data je samo lista proizvoda. Broja stranica ni ukupnog broja nema; pogledajte Paginacija i filtriranje.

Polja oko id i code prate polja proizvoda koja definiše vaša aplikacija, pa vaši proizvodi mogu imati više nego što primer pokazuje. Svaka varijanta ima svoje code, barcode i external_ref: identifikatore po kojima uparujete zalihe i porudžbine.

Jedan identifikator, jedan proizvod. Pošaljite tačno jedno od code, barcode, slug ili id i data je jedan objekat proizvoda umesto liste, ili {} kad ništa ne odgovara.

GET/products
curl "https://api.morffeus.com/api/v2/products?limit=2" \
  -H "Authorization: Bearer $MORFFEUS_TOKEN"
const res = await fetch('https://api.morffeus.com/api/v2/products?limit=2', {
  headers: { Authorization: `Bearer ${process.env.MORFFEUS_TOKEN}` }
});
const { data } = await res.json();
console.log(data.products.map(p => p.code));
$ch = curl_init('https://api.morffeus.com/api/v2/products?limit=2');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  'Authorization: Bearer ' . getenv('MORFFEUS_TOKEN'),
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$products = json_decode(curl_exec($ch), true)['data']['products'];
Odgovor200 OK
{
  "data": {
    "products": [
      {
        "id": 48213,
        "code": "SKU-1001",
        "slug": "espresso-beans-1-kg",
        "status": 1,
        "measuring_unit": "kg",
        "variants": [
          {
            "id": 91120,
            "code": "SKU-1001",
            "barcode": "8600123456789",
            "external_ref": "ERP-778",
            "on_stock": true,
            "prices": [
              { "price": 1890.0, "currency_id": 1, "market_id": 1, … }
            ],
            …
          }
        ],
        "prices": [ { "price": 1890.0, … } ],
        …
      },
      { "id": 48377, "code": "SKU-1002", … }
    ],
    "product_attributes": [ … ],
    "product_data_values": [ { "name": …, "type": …, "values": [ … ] } ]
  }
}

Izmenite zalihe#

PUT /api/v2/int/stocks

Sada upis. Uzmite code varijante iz odgovora iznad i šifru jednog od vaših magacina iz Admin-a, pa mu dodajte zalihe. Red imenuje varijantu i magacin onako kako ih zna vaš sistem, pa vam naši identifikatori nikad ne trebaju.

Odgovor je 200 sa dve liste: success sadrži upisane redove zaliha, a failed redove koji nisu upisani, svaki sa razlogom. Uvek pročitajte failed.

Količina se dodaje onome što magacin ima. Pokrenite ovo dvaput i dvaput ste dodali 5. Kad vaš sistem šalje ukupne količine, pogledajte Usklađivanje magacina.

PUT/int/stocks
curl -X PUT "https://api.morffeus.com/api/v2/int/stocks" \
  -H "Authorization: Bearer $MORFFEUS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "stocks": [
      { "code": "SKU-1001", "warehouse_code": "WH-NS", "quantity": 5 }
    ]
  }'
Odgovor200 OK
{
  "data": {
    "success": [
      {
        "id": 5101,
        "product_variant_id": 91120,
        "warehouse_id": 17,
        "quantity": 47.0,
        "min_qty": 5.0,
        …
      }
    ],
    "failed": []
  }
}
Poslednja izmena 1. oktobra 2026. · API v2 Nešto nije u redu na ovoj stranici?