V primeru, da imate spletno trgovino / landing page, ki še ni podprta ( integrirana) s strani MetaKocke, lahko  pošiljate dokumente v MetaKocko. Le ti se bodo zapisali v prodajna naročila na enak način, kot se prenesejo iz spletnih trgovin. Več informacij o API vmesniku se nahaja na https://github.com/metakocka/metakocka_api_base/, lahko sledite spodnjim navodilom.


Splošne zahteve :

  • API ključ si lahko uredite preko aplikacije za nastavitve - glej http://blog.metakocka.si/dodatne-nastavitve-api/
  • Vsi zahtevki so tipa POST
  • Vsi zahtevki morajo imeti nastavljen Header parameter Content-type : application/json
  • V primeru napake bo odgovor vseboval opr_code > 0 in opis napake v opr_desc
  • Ob nadgradnji MetaKocka lahko, da ni dosegljiva, zato je potrebno pri pošiljanju vgraditi logiko, da se pošiljanje izvede ponovno, če MetaKocka ni dosegljiva. 


Generiranje novega naročila

Opombe :


URL : https://main.metakocka.si/rest/eshop/v1/put_document

Zahtevek :

{
  "secret_key": "TODO",
  "company_id": "16",
  "doc_type": "sales_order",
  "doc_date": "2017-10-30+02:00",
  "title": "#390",
  "buyer_order": "#390",
  "partner": {
    "business_entity": "true",
    "taxpayer": "true",
    "foreign_county": "false",
    "tax_id_number": "SI20000001",
    "customer": "API partner 1",
    "street": "Street 100",
    "post_number": "1000",
    "place": "Ljubljana",
    "province": "Severna primorska",
    "country": "Slovenia",
    "partner_contact": {
      "name": "Janez Novak",
      "phone": "05 320 24 88",
      "fax": "05 320 24 84",
      "gsm": "071 333 444",
      "email": "test@test.co.uk"
    }
  },
  "receiver": {
    "business_entity": "true",
    "taxpayer": "true",
    "foreign_county": "false",
    "tax_id_number": "SI20000002",
    "customer": "API partner 2",
    "street": "Street 200",
    "post_number": "1000",
    "place": "Ljubljana",
    "country": "Slovenia",
    "partner_contact": {
      "name": "Janez Novak",
      "phone": "05 320 24 88",
      "fax": "05 320 24 84",
      "gsm": "071 333 444",
      "email": "test@test.co.uk"
    }
  },
  "currency_code": "EUR",
  "delivery_type": "GLS",
  "notes": "Custom extra message",
  "method_of_payment": "PayPal",
  "product_list": [
    {
      "code": "p1",
      "name": "Product with tax 22%",
      "name_desc" : "Extra description for product",
      "amount": "1",
      "price_with_tax": "100",
      "unit" : "kos",
      "sales" : true,
      "tax": "EX4"
    },
    {
      "code": "p2",
      "name": "Product with tax 9,5%",
      "name_desc" : "Extra description for product",
      "amount": "1",
      "price_with_tax": "100",
      "unit" : "kos",
      "sales" : true,
      "tax": "EX3"
    },
    {
      "code": "p3",
      "name": "Product with tax 0%",
      "name_desc" : "Extra description for product",
      "amount": "1",
      "price_with_tax": "100",
      "unit" : "kos",
      "sales" : true,
      "tax": "000"
    },
    {
      "code": "p4",
      "name": "Delivery cost",
      "amount": "1",
      "price_with_tax": "5",
      "unit" : "stor",
      "sales" : true,
      "service": true,
      "tax": "EX4"
    }
  ]
}


Odgovor :

{
  "opr_code": "0",
  "opr_time_ms": "87",
  "partner": {
    "mk_id": "1600000073"
  },
  "receiver": {
    "mk_id": "1600000076"
  },
  "mk_id": "1600000100",
  "count_code": "2/2017"
}


Dodatno plačilo

Vkolikor vaša aplikacija preveri, ali je bilo določeno naročilo plačano, lahko v MK pošljete podatke, da je naročilo že plačano. 


Opombe :


URL : https://main.metakocka.si/rest/eshop/v1/put_transaction

Zahtevek :

{
  "secret_key": "TODO",
  "company_id": "16",
   "doc_type" : "sales_order",
   "mk_id":"1600000073",
   "payment_mode" : "payment",
   "payment_type" : "PayPal",
   "date" : "2017-10-30+02:00",
   "price" : "305"
}


Odgovor :

{
  "opr_code": "0",
  "opr_time_ms": "0"
}


Pomen Vrste plačila in Način plačila

Za plačila na naročilu uporabljamo dva izraza :

  • Vrsta plačila - kako naj bi bilo naročilo plačano. To je nekaj, kar kupec običajno izbere v spletni trgovini (npr. Po povzetju, Kartica, PayPal, itd). 
  • Način plačila - kako je bilo dejansko naročilo plačano (plačilni inštrument, znesek, datum).


Obe vrste plačil je mogoče nastaviti v Nastavitve -> Šifranti. Imenujeta se "Vrste plačila" in "Način plačila"


Za plačilne inštrumente, kjer denar dobimo ob naročilu (npr. PayPal, kartice) tako izvedemo dva API klica - put_document (uporabimo polje method_of_payment za Vrsto plačila) in potem put_transaction (ime plačila je vnešeno v payment_type). Za naročil, kjer stranka plačan ob povzetju, pa izvedemo samo klic put_document in ustrezno nastavimo polje method_of_payment. 


FAQ


1. Kako v MetaKocka pogledam zapisano naročilo?


Zapisana naročila se nahajo pod prodajnimi naročili. Izberite še osveži seznam, da se vam nova  naročila pokažejo.




2. Kako preverim plačan znesek na prodajnem naročilu?




3. Dobim napako "Paramether 'payment_type' has invalid value : PayPal. Valid values : Transakcijski račun,Gotovina,Prenos preplačila,Kartica BA"

Potrebno je dodatni dodatni plačilni inštrument z imenom PayPal.




Opomba :

  • Če se računi s tem plačilnim inštrumentov pošljejo na FURS, jih označite kot Tip plačila = Ostalo. Če ne želite, da se pošljejo na FURS, jim nastavite Tip plačila = Transakcijski račun.