Vzpostavitev povezave za izmenjavo / sinhronizacijo


Integracija spletne trgovine postavljeni na Woocommerce platformi z MetaKocko omogoča:

- avtomatske prenose naročil z vsemi podatki kupca ( prejemnik, plačnik, vrsto plačila, popusti in naročenimi artikli) 

- sinhronizacijo artiklov ( artikle se lahko iz spletne trgovine prenese v MetaKocko z vsemi podatki, ki ste jih že vnesli v spletni trgovini)

- avtomatsko sinhronizacijo zalog in cen. 


Računi, ki se brez dodatnega dela generirajo na podlagi avtomatsko prenešenih naročil se za zakonsko določena plačilna sredstva tudi potrdijo na FURS-u, za izdano blago pa se ustrezno zniža zaloga blaga in osveži zalogo tudi v spletni trgovini ( če je tako nastavljeno).


Za vzpostavitev povezave z Woocommerce trgovino je potrebno iz Woocommerce trgovine pridobiti naslednje podatke :


Postopek pridobivanja teh podatkov je prikazan v nadaljevanju,  





Zgornje podatke kopirajte saj jih boste potrebovali pri dodajanju povezave v MetaKocki, 


Po prijavi v MetaKocko v Nastavitve/ Povezave dodajte novo povezavo kot prikazano na spodnji sliki:



Pod artikel za dostavo izberite artikel, ki ste ga pred tem vnesli v MetaKocko ( navodilo)


V primeru uspešne povezave boste po kliku na Test povezave dobili potrditev, v primeru da bi bile težave/ napake pa se lahko poslužite orodja/ programa za testiranje povezave ( v spodnjem delu navodil najdete link do programa). 


V primeru vključitve "Skladišče za sinhronizacijo zaloge" se bo izvajala avtomatična sinhronizacija zaloge. To pomeni, da MK vsake 5 minut preveri, če se je spremenila zaloga za artikle. Pri tistih, kjer je prišlo do spremembe, se podatki pošljejo v spletno trgovino.


Še niste uporabnik MetaKocke ? Registrirajte se in 30 dni brezplačno testirajte delovanje


Sinhronizacija artiklov ( Spletna trgovina <> MetaKocka ) 

Več informacij o delovanju si preberite tukaj.


Variacije artiklov ( npr barve, velikosti, dolžina) 

 

Vkolikor v spletni trgovini prodajate artikle, ki imajo variacije, je potrebno vsakemu artiklu določiti SKU kodo, ki je enaka šifri artikla v MetaKocki. Primer je prikazan na spodnjih slikah. V tem primeru se bo naročilo variacije artikla ustrezno preslikalo v MetaKocka artikel.



























Preslikava specifičnih polj države

V določenih državah so pomembne dodatne oznake v naslovih (predvsem province), zato so spodaj vpisane pravila, kako mora biti naslov zapisan v WC, da se pravilno preslika v MK naslove. 


DržavaOznaka v naslovuPričakovan podatek v JSON
RomunijaJudet{billing / shipping}.state

Localitate{billing / shipping}.city
ItalijaProvince code{billing / shipping}.state


Druga možnost (uporabno predvsem za Romunijo ; vendar deluje tudi za ostale države) je vpis posameznih polj pod metadata dokumenta. V tem primeru se polja (brez vključitve nastavitve) prenesejo v dopolnitev naslova. Spodaj je primer JSON zahtevka iz strani WC (vsebuje samo polja, ki so pomembna). Imena polj morajo biti točna enaka kot v spodnjem primeru in točno kot metapodatki dokumenta (ne recimo partnerja, artikla, itd). Za spodnji zahtevek se bo tako za kupca nastavil naslov "Ulica 1, BL:12 SC:D ET:4 AP:17" oz. za prejemnika "Ulica 2, BL:12_2 SC:D_2 ET:4_2 AP:17_2".


[    {

        "id": 473216,

        "parent_id": 0,

        "billing": {

            "address_1": "Ulica 1"

        },

        "shipping": {

            "address_1": "Ulica 2"

        },

        "meta_data": [{

                "id": 10736392,

                "key": "_billing_address_bl",

                "value": "BL:12"

            }, {

                "id": 10736393,

                "key": "_billing_address_sc",

                "value": "SC:D"

            }, {

                "id": 10736394,

                "key": "_billing_address_et",

                "value": "ET:4"

            }, {

                "id": 10736395,

                "key": "_billing_address_ap",

                "value": "AP:17"

            }, {

                "id": 10736399,

                "key": "_shipping_address_bl",

                "value": "BL:12_2"

            }, {

                "id": 10736400,

                "key": "_shipping_address_sc",

                "value": "SC:D_2"

            }, {

                "id": 10736401,

                "key": "_shipping_address_et",

                "value": "ET:4_2"

            }, {

                "id": 10736402,

                "key": "_shipping_address_ap",

                "value": "AP:17_2"

            }

        ]

    }

]



Preslikava davčne številke podjetja

Vkolikor v spletni trgovini omogočate izdajo računov tudi podjetjem in posledično imate polje za vnos davčne številke, lahko iz spletne trgovine te podatke prenesete v MK preko JSON "meta_data" podatkov. Veljajo naslednja pravila :

  • buyer_tax_id / receiver_tax_id - davčna številak za kupca oz. prejemnika. Če je podana vrednost, potem partner avtomatično v MK postane "podjetje" in "davčni zavezanec"
  • buyer_tax_payer / receiver_tax_payer - če vsebuje vrednost "false", potem se v MK podjetje označi kot da ni davčni zavezanec. Kot pravi zgodnja točka - če vrednost ni podana, potem se podjetje avtomatično označi kot davčni zavezanec. 


[{
"id": 24777,
"parent_id": 0,
"status": "completed",
"order_key": "wc_order_5b1e09c34a158",
"number": "25386",
...........
"billing": {
...........
"first_name": "Gabriela",
"last_name": "Birz",
"country": "RO",
},
"shipping": {
.............
"first_name": "Gabriela",
"last_name": "Birz",
},
.............
"meta_data": [{
"key": "buyer_tax_id",
"value": "SI100200300"
}, {
"key": "buyer_tax_payer",
"value": "true"
}, {
"key": "receiver_tax_id",
"value": "SI100200300"
}, {
"key": "receiver_tax_payer",
"value": "false"
}
]}
}]


V primeru težave/ izpisa napak pri testu povezave - testiranje povezave Woocoomerce trgovine in MetaKocke


Ker je vsaka postavitev WC svoja ločena postavitev, lahko pride do težav pri komunikaciji med MetaKocka in WC. V primeru težave je dobro na začetku stestirati, ali je vmesnik na WC pravilno nastavljen. Priporočamo uporabo programa Postman.


Pregled naročil


Najprej gradimo ustrezni URL naslov za seznam naročil, ki ima obliko [osnovni URL spletne trgovine] + /wp-json/wc/v1/orders?per_page=1&amp;order=desc. Primer : https://mystore.com/wp-json/wc/v1/orders?per_page=1&order=desc


V kolikor spletna trgovina podpora HTTPS, uporabimo Basic authentication. Drugače pa OAuth. Spodnje slike prikazujejo oba primera. Na koncu mora kot rezultat priti JSON s naročili.


Uporabne povezave :




Posodobitev zaloge artikla


Tip : POST

Primer klica : http://[moja trgovina]/wp-json/wc/v1/products/batch

Vsebina (3982 mora biti id artikla v spletni trgovini) :


{
"update" : [
{
"id" : 3982,
"stock_quantity" : 15000
}
]
}


Odgovor je izpis podatkov o artiklu, ki vsebuje "stock_quantity" : 15000


Pregled artikla in njegove zaloge


Tip : POST

Primer klica : http://[moja trgovina]/wp-json/wc/v1/products/3982

Vsebina : brez


Odgovor je izpis podatkov o artiklu, ki vsebuje "stock_quantity" s ustrezno vrednostjo.


Privzeti statusi plačilnih inštrumentov

Ko v WC pride naročilo, se glede na različne plačilne inštrumente nastavi naslednji status :


OznakaPlačilni inštrumentZačetni status
paypalPayPalPending - naročilo izvedeno, vendar še ni plačano.
Processing - plačilo je bilo izvedeno
bacsDirect bank transferOn hold
chequeCheck paymentsOn hold
codCash on deliveryProcessing


Nastavitev predpone za naročila

V primeru, da imate več spletnih trgovin, si lahko način nastavitve predpone pred posamezno naročilo ogledate v članku https://www.tychesoftwares.com/how-to-add-prefix-or-suffix-to-woocommerce-order-number/

V JSON zgradbi naročila obstajata dva polja za oznako naročila :

  • "Id" - številka, ki jo interno uporabimo za ugotavljanje podvojenih naročil oz. spreminjanje podatkov naročila v WC trgovini
  • "number" - oznaka, ki se prikazuje na vseh mestih v MetaKocka oz. Order Management.

"Id" se nikoli ne spreminja, saj se samo povečuje. Na drugi strani pa "number" lahko poljubno spremenite (npr. iz "1001" v "SLO-1001") in ne bo prišlo do podvajanja naročil. Edina omejitev je, da to velja za spletne trgovine, ki so bile v MK dodane od 1.1.2018 naprej. V kolikor je bila trgovina dodana že pred tem, je potrebno povprašati na MK podpori, da preverijo stanje preko parametra "useInternalIdForOrderId". 



Podpora za Up-sell

V kolikor ob nakupu stranki omogočate izvedbo upsell artikla, je potrebno zagotoviti naslednje :

  • up-sell mora biti časovno omejen - recimo 12 ur. Vmes le tega naročila ne smete odpremiti, ker mora počakati na možnost upsell. 
  • naročilo ne sme dobiti statusa "processing", ker bo potem odšel v odpremo. Mora imeti nek vmesni status (npr. "waiting-upsell") in potrebno je na strani WC zagotoviti (razviti funkcionalnost), da bo spremenila status naročila v "processing" po določenem času. 
  • nujno se mora v primeru spremembe statusa izvesti tudi update preko webhook. 


Določanje Lot številke 

V primeru, da za artikel vodite lot številke v MetaKocki (npr. prodaja živil) in da spletna trgovine ne vsebuje podpore za vnos lot številk, bo MetaKocka avtomatično določila Lot številko ob prenosu naročila. Postopek je naslednji :

  • Lot številka se samodejno določijo samo v primeru prenosa na račun,
  • artikel mora biti označen, da se na njem vodijo Lot številke,
  • računu se samodejno določi skladišče glede na nastavitve podjetja,
  • za artikel z lot številko se na skladišču računa preveri, ali obstaja zaloga. Če obstaja, se izbere lot številka z največjo količino na skladišču.

Če se artiklu ne določi lot številka, se bo ob prenosu naročil izpisala napaka in naročilo se ne bo preneslo. Primer napake : 3952 - Janez Novak : Artikel 56 - m2 - Divji kostanj mazilo 100 ml mora imeti določen Lot


Dodatni parametri ob imenu kupca / prejemnika

V kolikor se pod metapodatki naročila nahaja podatek "_billing_comp" ali "_shipping_comp", se bo le ta naziv zapisal pod imenom kupca. Npr. za spodnji primer bo imel kupec ime "BillComp, Name1 Surname1", prejemnik pa "ShippComp, Name2 Surname".



Dodatni opis artikla


V kolikor želite iz spletne trgovine prenesti dodatne opise k izpisu artikla, je le to mogoče preko meta_data oznak preko rezultata REST orders klica. 


Funkcionalnost je potrebno dodatno vključiti v nastavitvah - https://metakocka.freshdesk.com/a/solutions/articles/3000077086


Npr. da bi želeli pod artiklom "Torbica" izpisati še dva opisa:


V tem primeru je potrebno na MK vmesniku za spletne trgovine vključiti dodatne možnost "productExtraDescription" (pokličite na podporo, da vam vključimo), JSON struktura odgovora REST order klica pa mora vsebovati podatke kot dodatne vrednosti v meta_data :



Težava pri prenosu variacij artiklov

V koliko imajo artikle variacije in želite vse artikle iz spletne trgovine prenesti v MK, lahko dobite spodnjo napako. V tem primeru je potrebno v "Dodatne nastavitve" vključiti v1 verzijo API-ja.


org.codehaus.jackson.map.JsonMappingException: Can not construct instance of com.metakocka.MetaKockaMain.server.GenericWebShop.WooCommerce.WooCVariations, problem: no suitable creator method found to deserialize from JSON Number

at [Source: java.io.StringReader@552621b8; line: 1, column: 9343] (through reference chain: com.metakocka.MetaKockaMain.server.GenericWebShop.WooCommerce.WooCItem["variations"])


Še niste uporabnik MetaKocke ? Spoznajte delovanje in 30 dni brezplačno testirajte delovanje MetaKocke