• produkty
• obrázky/dokumenty
• atribúty produktov (napr. farba, veľkosť, výrobca)
• kategórie produktov
• stavy zásob
• objednávky
• aktualizovať stav objednávok
• zakladať nových odberateľov
• vloženie PDF faktúr k vybaveným objednávkam
• vloženie PDF dobropisov k refundovaným objednávkam
API poskytuje údaje vo formáte JSON.
Autentifikácia je zabezpečená prostredníctvom Bearer Token.
Dôležité pridať filtre do \wp-includes\functions.php.
add_filter( 'asseco_set_order_as_paid', function ( $set_as_paid, $order_id ) {
$order = wc_get_order( $order_id );
if ( 'cod' === $order->get_payment_method() ) {
$set_as_paid = false;
}
return $set_as_paid;
}, 10, 2 );
add_filter( 'asseco_order_mapped_data', function ($data, $wc_order) {
$data['external_order_number'] = $wc_order->get_id();
return $data;
}, 10, 2);
| WP Rest API | Description |
| /wp-json/asseco/v1/orders/update | aktualizuje objednávky so zmeneným statusom v SPINe |
| /wp-json/asseco/v1/orders/orphaned | kontroluje id objednávok a v prípade nevráteného id zo SPINu sa vykoná opätovný pokus o insert |
| /wp-json/asseco/v1/products/import | import nových produktov alebo produktov, na ktorých boli vykonané zmeny, prípadne doplnené údaje |
| /wp-json/asseco/v1/scheduled | - nastavenie manuálneho spustenia cronu. Ak je cron nastavený napr. na každú minútu, kontroluje či bola vyvolaná akcia v Asseco settings:
|
example:
https://assecosolutions.sk/wp-json/asseco/v1/orders/orphaned?secret=12345
| WP-CLI | Description |
| /wp-cli.phar asseco update_orders | aktualizuje objednávky so zmeneným statusom v SPINe |
| /wp-cli.phar asseco create_orphaned_orders | kontroluje id objednávok a v prípade nevráteného id zo SPINu sa vykoná opätovný pokus o insert |
| /wp-cli.phar asseco import_products | import nových produktov alebo produktov, na ktorých boli vykonané zmeny, prípadne doplnené údaje |
| /wp-cli.phar asseco run_scheduled_events | - nastavenie manuálneho spustenia cronu. Ak je cron nastavený napr. na každú minútu, kontroluje či bola vyvolaná akcia v Asseco settings:
|
| Povinné parametre | |
| MandantId | ID mandanta |
| Voliteľné parametre | |
| since | Dátum a čas poslednej synchronizácie úpravy/vytvorenia produktu |
| withOptionalData | Ak je true, vráti produkty s voliteľnými údajmi (viac informácii v sekci voliteľné údaje) |
| withAlternativeCodes | Ak je true, vráti produkty s alternatívnymi kódmi |
log example
Importing product 48129
Found prices {"regular":{"price":999.62,"valid_from":"2022-01-01 00:00:00","valid_to":null},"sale":{"price":496,"valid_from":"2021-11-17 16:21:00","valid_to":null}}
Stock quantity 6
Importing main photo 107938
| Povinné parametre | |
| MandantId | ID mandanta |
| Voliteľné parametre | |
| since | Dátum a čas poslednej synchronizácie |
| Povinné parametre | |
| MandantId | ID mandanta |
Response example:
[
{
"code": "423",
"name": "Hlavný obrázok",
"shortcut": "OBR"
}
| Povinné parametre | |
| MandantId | ID mandanta |
| parentId | ID produktu |
| documentTypeId | "code" (/api/eshop/v1/QasidaEnum/GetDocumentTypes) |
| Povinné parametre | |
| MandantId | ID mandanta |
| Id | "id" (/api/eshop/v1/QasidaEnum/GetByParentId) |
| Povinné parametre | |
| MandantId | ID mandanta |
| customerOrderId | ID predajnej objednávky |
| Povinné parametre | |
| MandantId | ID mandanta |
| Id | ID dokumentu (/api/eshop/v1/Document/GetInvoicesByCustomerId) |
Produkty v SPINe sú zaradené do kategórií so stromovou štruktúrou. V objekte Product sa jedná o atribút categoryId.
| Povinné parametre | |
| MandantId | ID mandanta |
Plugin pracuje s dvoma cenníkmi - štandardným (regular) a akciovým (sale).
| Povinné parametre | |
| MandantId | ID mandanta |
Položky cenníka sú v QasidaApi reprezentované objektom PriceListItem. Hodnota ceny sa nachádza v atribúte value. Položky cenníka môžu mať určenú aj cenovú platnosť (od kedy do kedy je cena platná). Ak je nastavená časová platnosť ceny (atribúty validFrom a validTo), táto je zapísaná k danému produktu v eShope.
| Povinné parametre | |
| MandantId | ID mandanta |
| priceListId | "id" (/api/eshop/v1/PriceList/GetAll) |
| Voliteľné parametre | |
| since | Dátum a čas filtrovania položiek cenníkov podľa dátumu prípadne aj času úpravy/vytvorenia |
| mandantId | Asseco settings |
| customerId | ID zákazníka |
| name | Asseco settings |
| customer_type_id | Asseco settings |
| is_purchaser | true |
| is_supplier | false |
| is_vat_payer | false |
| price_list_id | Asseco settings |
| addresses | adresy zákazníka |
| contacts | "" |
| card_number | "" |
| loyalty_id | "" |
| internal_code | "eshop" + císlo zákazníka |
| ico | IČO |
| dic | DIČ |
Objednávka sa exportuje ihneď, ako je vytvorená a potvrdená v eShope bez ohľadu na spôsob a stav platby (stav platby je zohľadnený v atribúte isPaid).
| mandantId | pri osobnom odbere je mandantID zo skladu, pri doprave kuriérskou službou zo setupu pre výdaj zo skladu SETUP |
| customerId | ID zákazníka |
| typeDocumentId | Asseco settings |
| issueDate | dátum vytvorenia objednávky |
| fulfillmentDate | Asseco settings |
| currency | mena objednávky |
| note | poznámka zákazníka zadaná v košíku |
| shippingServiceTypeId | Asseco settings |
| paymentMethod | ID typu platby |
| fullClientName | clientCustomerName |
| branchId | ID pobočky napr. Packeta, pri osobnom odbere id pobočky SETUP |
| price | celková cena objednávky s DPH |
| cashOfDeliveryPrice | dobierková suma |
| cashOfDeliveryCurrency | mena dobierkovej sumy |
| internalTrackSymbol | variabilný symbol v eShope |
| externalOrderNumber | ID objednávky v eShope |
| isPaid | príznak, či je objednávka zaplatená |
| warehouseId | Asseco settings |
| isPaid | príznak, či je objednávka zaplatená |
| customerOrderItems | |
| productId | ID produktu v SPINe |
| quantity | objednané množstvo |
| price | cena produktu s DPH |
| fulfillmentDate | Asseco settings |
| economicalObject | Asseco settings |
| rabat | zľava na položku |
V prípade, ak je objednávka s online platbou (t.j. platba kartou online, platba okamžitým bankovým prevodom a pod.) je informácia o prípadnej dodatočnej úhrade objednávky zaslaná ako aktualizácia k objednávke.
| PUT | |
| id | ID objednávky |
| isPaid | true |
Pri zmene stavu objednávky sú tieto stavy namapované na stavy v eShope. Jeden stav v eShope sa môže rovnať viacerým stavom v SPINe.
| Stavy objednávok | |
| Založený | Nová objednávka z e-shopu na dobierku |
| Čaká na platbu | Nová objednávka z e-shopu platba kartou |
| Uhradené | Uhradená objednávka z e-shopu platba kartou |
| Dodací list bez balíka | Vytvorený dodací list bez balíkov |
| Založený balík | Vytvorený aspoň jeden balík k dodaciemu listu |
| Zabalený balík | Zabalený aspoň jeden balík k dodaciemu listu |
| Balík na exp. lokácii | Aspoň jeden balík na expedičnej lokácii |
| Balík na palete | Aspoň jeden balík na swapovej palete |
| Objednávka pripravená na odoslanie | Všetky balíky objednané na zvoz |
| Čiastočne odoslané dopravcovi | Aspoň jeden balíky odoslaný dopravcovi |
| Čiastočne odoslané na výdajné miesto | Aspoň jeden balíky odoslaný na pobočku |
| Objednávka odoslaná | Všetky balíky odoslané dopravcovi |
| Objednávka odoslaná na výdajné miesto | Všetky balíky odoslané na výdajné miesto (pobočku) |
| Pripravené na výdaj | Aspoň jeden balík pripravený na výdaj |
| Prevzaté zákazníkom | Všetky balíky prevzaté zákazníkom |
| Storno | Stornovaná objednávka |
| Nákupná objednávka | Informatívny status o vytvorenej nákupnej objednávke z položiek predajnej objednávky |
| Povinné parametre | |
| MandantId | ID mandanta |
| since | Dátum a čas, od ktorého vráti zmenené objednávky |
Enumy sú číselníky použité pri nastavení Woocommerce pluginu.
| Povinný parameter pre všetky enumy | |
| MandantID | ID mandanta |
| Endpoint | Description |
| /api/eshop/v1/QasidaEnum/GetCustomerTypes | číselník typov zákazníkov |
| /api/eshop/v1/QasidaEnum/GetEconomicalObjects | číselník ekonomických objektov |
| /api/eshop/v1/QasidaEnum/GetCurrencies | číselník finančných mien |
| /api/eshop/v1/QasidaEnum/GetShippingServiceTypes | číselník spôsobov dopravy (je potrebné vytvoriť v SPINe v okne Dopravcovia) |
| /api/eshop/v1/QasidaEnum/GetPaymentMethods | číselník platobných metód |
| /api/eshop/v1/QasidaEnum/GetProductTypes | číselník typov produktov napr. tovar, služba |
| /api/eshop/v1/QasidaEnum/GetPriceListTypes | číselník typov cenníkov |
| /api/eshop/v1/QasidaEnum/GetWarehouseTypes | druhy skladov, z ktorých sa vypočítava skladová zásoba default = odbytový sklad |
| /api/eshop/v1/QasidaEnum/GetCustomerOrderDocumentTypes | defaultný doklad pri založení novej objednávky v SPINe |
| /api/eshop/v1/QasidaEnum/GetShippingBranches | default sklad pre osobný odber |
| /api/eshop/v1/QasidaEnum/GetCustomerOrderWorkflowStatus | detailnejší popis je uvedený v sekcii Zmena stavu objednávky |
| /api/eshop/v1/QasidaEnum/GetDocumentTypes | označenie druhu prílohy pre obrázky napr. OBR a faktúry napr. FAK |
| Name | Value | Description |
| API URL | *http://qasida-spin:8080 | URL pre API |
| API token | *eyJhbGc | token vygernerovaný v SPINe |
| Mandant IDs | *1 | ID mandanta v SPINe |
| Update enums, categories and price lists | checkbox true/false | akcia aktualizuje všetky enumy, kategórie a cenník (nie položky z cenníka) |
| Update enums | checkbox true/false | akcia aktualizuje len metody pre enumy |
| Update categories | checkbox true/false | akcia aktualizuje kategórie produktov |
| Update price lists | checkbox true/false | akcia aktualizuje cenníky, pozor nie ceny na produktoch |
| Schedule import products | /wp-json/asseco/v1/scheduled | akcia vykoná import/aktualizáciu produktov na základe najbližšieho spustenia cronu "scheduled" |
| Schedule update orders | /wp-json/asseco/v1/scheduled | akcia vykoná import/aktualizáciu produktov na základe najbližšieho spustenia cronu "scheduled" |
| Schedule create orphaned orders | /wp-json/asseco/v1/scheduled | akcia vykoná import/aktualizáciu produktov na základe najbližšieho spustenia cronu "scheduled" |
| Cron secret key | *12345 | secret key sa používa pre overenie ku WP Rest API cronom |
| Enabled advanced logging | checkbox true/false | zapnutie/vypnutie rozšíreného logovania |
| Notifications email | *test@test.sk | e-mailová adresa správcu pre odosielanie error statusov |
| Name | Value | Description |
| Default customer type | /api/eshop/v1/QasidaEnum/GetCustomerTypes | |
| Default company customer type | /api/eshop/v1/QasidaEnum/GetCustomerTypes | |
| Default customer price list | /api/eshop/v1/QasidaEnum/GetPriceListTypes | |
| Connection type for phone | /api/eshop/v1/QasidaEnum/GetContactConnectionTypes | |
| Connection type email | /api/eshop/v1/QasidaEnum/GetContactConnectionTypes | |
| IČ custom field | _billing_ic | |
| DIČ custom field | _billing_dic | |
| DIČ DPH custom field | _billing_dic_dph |
| Name | Value | Description |
| Validate stock on checkout | checkbox true/false | ak je validácia zapnutá, kontroluje sa stav skladu pre produktu pri checkoute |
| Fulfillment date days | predpokladaný dátum vyskladnenia, ak nie je vyplnené, pri inserte objednávky sa v SPINe vyplní automaticky | |
| New order economical object | /api/eshop/v1/QasidaEnum/GetEconomicalObjects | ekonomický objekt pre objednávku |
| New organization structures | /api/eshop/v1/QasidaEnum/GetOrganizationStuctures | organizačná štruktúra pre objednávku |
| Virtual products product types | /api/eshop/v1/QasidaEnum/GetProductTypes | virtuálne produkty napr. služba |
| Allowed product product relation types for import | /api/eshop/v1/QasidaEnum/GetProductRelationTypes | typ väzby pre variabilné produkty, štandardne v SPINe nastavené ako A (alternatíva) |
| Fee order items product | /api/eshop/v1/Product/GetAll | produkt pre poplatky napr. Dobierka |
| Warehouse types for handling stock | /api/eshop/v1/Warehouse/GetAll | typ skladu, z ktorého sa počíta skladová zásoba, potrebné nastaviť ako Odbytový sklad |
| Name | Value | Description |
| Invoice | /api/eshop/v1/QasidaEnum/GetDocumentTypes | typ dokumentu zadefinovaný vo voliteľnej evidencii v SPINe (zvyčajne FAK) |
| Attach invoice to emails | status in Woocommerce - standard is Completed order | stav objednávky pri ktorom sa prikladá faktúra ako príloha mailu |
| Refund | /api/eshop/v1/QasidaEnum/GetDocumentTypes | typ dokumentu zadefinovaný vo voliteľnej evidencii v SPINe (zvyčajne DOB) |
| Attach refund to emails | status in Woocommerce - standard is Refund | stav objednávky pri ktorom sa prikladá dobropis ako príloha mailu |
| Name | Value | Description |
| Spin status for Pending payment | Čaká na platbu | stav používaný pri platbe kartou |
| Spin status for Processing | Založený | |
| Spin status for On hold | Založený | |
| Spin status for Completed | Pripravené na výdaj zákazníkovi | |
| Spin status for Cancelled | Storno | |
| Spin status for Refunded | Storno | |
| Spin status for Failed | ||
| Spin status for Draft | ||
| Paid order statuses | Processing | pri úhrade kartou sa aktualizuje stav na uhradené |
*vzorové nastavenie
| Name | Value | Description |
| Product ID for SK: Osobný odber | /api/eshop/v1/Product/GetAll | produkt pre osobný odber, ktorý je definovaný ako spôsob dopravy vo Woocommerce |
| Product ID for SK: Packeta | /api/eshop/v1/Product/GetAll | produkt pre Packetu, ktorá je definovaný ako spôsob dopravy vo Woocommerce |
| Warehouse for SK: Osobný odber | /api/eshop/v1/Product/GetAll | sklad, do ktorého sa vytvorí objednávka pre osobný odber |
| Warehouse for SK: Packeta | /api/eshop/v1/Product/GetAll | sklad, do ktorého sa vytvorí objednávka pre dopravcu Packeta |
| Shipping type for SK: Osobný odber | /api/eshop/v1/QasidaEnum/GetShippingServiceTypes | typ dopravcu zadefinovaného v SPINe v okne Dopravca |
| Shipping type for SK: Packeta | /api/eshop/v1/QasidaEnum/GetShippingServiceTypes | typ dopravcu zadefinovaného v SPINe v okne Dopravca |
| Shipping branch for SK: Osobný odber | /api/eshop/v1/QasidaEnum/GetShippingBranches | ak sa používa osobný odber pre viac výdajných miest, napr. osobný odber BA a KE vyberie sa pobočka zadefinovaná v okne Dopravcovia |
| Shipping branch for SK: Packeta | /api/eshop/v1/QasidaEnum/GetShippingBranches | pre externé dopravné služby všeobecne, nie je potrebné vypĺňať |
| Name | Value | Description |
| Update price lists | checkbox true/false | akcia na aktualizáciu cenníkov (nie položiek cenníkov) |
| Regular price list | /api/eshop/v1/QasidaEnum/GetPriceListTypes | cenník pre štandardné predajné ceny |
| Sale price list | /api/eshop/v1/QasidaEnum/GetPriceListTypes | cenník pre akciové ceny |
| Name | Value | Description |
| Payment method for Credit card / debit card | /api/eshop/v1/QasidaEnum/GetPaymentMethods | spôsoby úhrady definované vo Woocommerce |
| Payment method for Dobierka | /api/eshop/v1/QasidaEnum/GetPaymentMethods | |
| Cash on delivery payment methods | Payment method for Dobierka | spôsoby platby |
| Name | Value | Description |
| Update categories | checkbox true/false | zakliknúť pre aktualizáciu kategórii |
| Spin category for Uncategorised | api/eshop/v1/QasidaEnum/GetProductCategoryTypes | napárovanie kategórii zo SPINu s kategériami vo Woocommerce |
| Name | Value | Description |
| Tax for Standard | api/eshop/v1/QasidaEnum/GetVatTypesOut | štandardná sadzba DPH |
| Tax for Reduced rate | api/eshop/v1/QasidaEnum/GetVatTypesOut | znížená sadzba DPH |
| Tax for Zero rate | api/eshop/v1/QasidaEnum/GetVatTypesOut | nulová sadzba DPH |
| Name | Value | Description |
| Main photo | /api/eshop/v1/QasidaEnum/GetDocumentTypes | hlavný obrázok produktu |
| Gallery | /api/eshop/v1/QasidaEnum/GetDocumentTypes | galéria obrázkov k produktu okrem hlavného obrázku |
| Name | Value | Description | |
| Settings for (name of optional data) | |||
|---|---|---|---|
| Import | ak áno, voliteľný údaj sa importuje k produktom | ||
| Used for variations | ak áno, voliteľný údaj platí aj pre variabilné položky produktov | ||
| Map to | Short description | hodnota voliteľného údaju sa zobrazí v poli krátky popis v produkte | |
| Description | hodnota voliteľného údaju sa zobrazí v poli popis v produkte | ||
| Length | hodnota voliteľného údaju sa zapíše ako dĺžka produktu | ||
| Width | hodnota voliteľného údaju sa zapíše ako šírka produktu | ||
| Height | hodnota voliteľného údaju sa zapíše ako výška produktu | ||