• 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 |