Identifikatori i uparivanje
Za slanje podataka ne trebaju vam naši id-jevi. Vaš ERP, magacinski sistem ili kasa šalje šifre, barkodove i reference koje već ima, a mi nalazimo odgovarajući zapis. Ova stranica kaže po čemu se uparuje svaki poziv, kojim redom i šta se dešava kad se ništa ne upari.
Identifikatori#
| Identifikator | Šta je |
|---|---|
| idinteger | Naš id. Nosi ga svaki odgovor. Možete da ga čuvate, ali nikad ne morate da ga šaljete da biste upisivali. |
| codestring | Vaša šifra: broj proizvoda, SKU, šifra magacina. Imaju je proizvodi, varijante, magacini, prodajne lokacije, katalozi i definicije atributa. Usklađivanje šifru varijante zove sku; redovi zaliha šifru magacina zovu warehouse_code. |
| barcodestring | EAN ili drugi kod za skeniranje. Imaju ga proizvodi, varijante i kartice lojalnosti. |
| external_refstring | Sopstveni id zapisa u vašem sistemu, kad to nije šifra: na primer id reda u vašem ERP-u. Imaju ga varijante, definicije atributa, prodajne lokacije, kupci, kartice i porudžbine. |
Pravila koja važe svuda#
- Jedinstveno u vašoj aplikaciji. Šifra, barkod ili spoljna referenca imenuje jedan zapis svoje vrste u vašoj aplikaciji. Druga aplikacija može da koristi iste vrednosti.
- Tačno poklapanje. Uparivanje razlikuje velika i mala slova, a razmaci se računaju:
sku-1001ne nalaziSKU-1001. Razmake sa šifara, barkodova i referenci varijanti uklanjamo kad ih čuvamo, a ne kad ih tražimo. Izuzeci su pomoćna čitanjaGET /products?code=iPOST /product/verify, koja ne gledaju velika i mala slova ni razmake oko vrednosti. - Važi prvi pogodak. Kad poziv pokušava više identifikatora, pokušava ih redom navedenim niže i koristi prvi koji nađe zapis. Ne proverava da li se ostali slažu, pa pošaljite identifikator u koji ste najsigurniji.
- Identifikatori neka budu stalni. Promenjena šifra u vašem sistemu nama izgleda kao novi zapis. Promenite je i ovde, u istoj sinhronizaciji, inače ćete imati dva.
Po čemu se uparuje svaki poziv#
| Poziv i zapis | Pokušava se ovim redom | Kad se ništa ne upari |
|---|---|---|
| POST /int/products proizvod | id, code, external_ref | Proizvod se pravi. |
| POST /int/products varijanta | code, barcode, external_ref | Varijanta se pravi na proizvodu. Varijanta drugog proizvoda obara proizvod. |
| PUT /int/stocks varijanta | code, barcode, external_ref | Red ne prolazi; ostali redovi se upisuju. |
| PUT /int/stocks magacin | warehouse_code | Red ne prolazi. |
| POST /stock/reconcile | Šifra varijante kao sku; magacin po warehouse_code | Nepoznat SKU obara svoj unos. Nepoznat magacin obara poziv sa 404. |
| PUT /int/product_attributes proizvod | Jedna od njegovih varijanti po code, barcode, external_ref | Ceo poziv ne prolazi i ništa se ne upisuje. |
| PUT /int/product_attributes definicija | external_ref, zajedno sa product_attribute_def_id kad ga pošaljete | Definicija se pravi. |
| PUT /warehouse | code i id: oba moraju da se poklope kad pošaljete oba | Magacin se pravi. |
| POST /product/verify | Varijanta po code ili barcode, pa proizvod | Red se vraća bez id-jeva. Ništa se nikad ne upisuje. |
Porudžbine, kupci, kartice, katalozi i prodajne lokacije uparuju se na svoje načine; njihove stranice kažu kako: Porudžbine, Kupci, Kartice, Katalozi, Lokacije.
Proizvode uparujte po code, a ne po external_ref. POST /int/products ne čuva external_ref proizvoda, pa nalazi samo proizvode koji su ga dobili na drugi način. Varijante čuvaju svoj. Pogledajte Proizvode.
Porudžbine i kupci: id-jevi iz tri dela#
Porudžbine, kupci i kartice čuvaju se u particijama. Svaki zapis imenuje naš id zajedno sa dva broja particije, data_part i time_part. To nisu datumi i ne menjaju se za zapis.
- Odgovori koji vraćaju porudžbinu, kupca ili karticu uz
idnose idata_partitime_part. - Čuvajte sva tri. Pozivi koji porudžbinu ili kupca primaju po id-ju traže druga dva kao
dataPartitimePart. - Porudžbina kupca ima
data_partitime_parttog kupca.
U praksi#
- Svemu što pravite dajte sopstvenu šifru i šaljite je u svakom pozivu.
- Izaberite jedan identifikator po vrsti zapisa i koristite ga svuda. Šifre u jednom pozivu a barkodovi u sledećem rade, ali je teže razumeti šta se desilo kad nešto krene naopako.
- Pre prve sinhronizacije pošaljite svoje šifre na
POST /product/verifyda vidite koje proizvode već imamo. - Nikad ne koristite istu šifru za drugi artikal, ni posle brisanja starog.
Povezano#
- Proizvodi: proizvodi i varijante, i kako se uparuju.
- Zalihe: redovi koji navode varijantu i magacin.
- Greške: kako izgleda red ili poziv koji nije prošao.