
內容簡介
Drusoft Shipping for Sameday 外掛可將 WooCommerce 商店與保加利亞的 Sameday 快遞連接,讓顧客在結帳時查看即時運費,並選擇送貨到家、easybox 自助櫃或 SAMEDAY 取件點,商家可在訂單畫面上創建、列印及取消運單。
【主要功能】
• 三種送貨選項:到地址、easybox 自助櫃或 SAMEDAY 取件點
• 即時運費:根據實際包裹、城市及付款方式計算
• 城市列表:顧客可從可搜尋的列表中選擇城市
• 地圖選擇器:顯示全國 easybox 和 SAMEDAY 取件點的地圖
• 自動運單管理:在訂單編輯畫面創建、列印及取消運單
外掛標籤
開發者團隊
② 後台搜尋「Drusoft Shipping for Sameday」→ 直接安裝(推薦)
原文外掛簡介
Drusoft Shipping for Sameday connects a WooCommerce store in Bulgaria to the Sameday courier. Customers see live Sameday prices at checkout and choose delivery to their door, to an easybox locker or to a SAMEDAY point; the merchant creates, prints and cancels waybills from the order screen.
Important Compatibility Note
This plugin is currently not compatible with the WooCommerce Block Cart and Block Checkout pages. Please ensure your store uses the classic shortcode-based Cart ([woocommerce_cart]) and Checkout ([woocommerce_checkout]) pages.
For Your Customers
Three delivery options — to an address (24H), to an easybox locker, or to a SAMEDAY point.
Live prices — each option is priced by Sameday for the actual parcel, city and payment method.
City list — the customer picks a region, then a city from a searchable list (Latin or Cyrillic); the postcode fills itself.
Only what the city has — easybox and SAMEDAY point are offered only in cities that have one, with a searchable list of that city’s locations.
Map picker — a map of every easybox and SAMEDAY point in the country, opened on the customer’s city, with filters and search. Picking a location elsewhere sets the region, city and delivery type by itself.
Full lockers hidden — locations Sameday reports as over capacity are not offered.
For Merchants
HPOS Compatible — Fully supports WooCommerce High-Performance Order Storage.
Automated Data Sync — Uses Action Scheduler to refresh Bulgarian cities and Sameday pickup locations daily, so checkout never waits on the API.
Fallback prices — if Sameday cannot be reached, checkout still shows a price from a table you configure.
Waybill Management — Create, print (PDF) and cancel waybills from the order edit screen, or create them automatically when an order becomes Processing or On hold.
Cash on delivery collected correctly — the waybill always carries the order total, never a stale checkout estimate.
Declared value — off, above a threshold, or always.
Open before paying — optionally add Sameday’s „Отвори преди да платиш“ extra to every waybill for delivery to an address.
Demo and production — switch between Sameday’s demo and live environments in the settings.
Bulgarian (bg_BG) Translation Included.
Also Ship via Speedy or Econt?
This plugin has siblings for the other Bulgarian couriers: Drusoft Shipping for Speedy and Drusoft Shipping for Econt. All three share the same checkout experience, map picker and order screens, and are built to run side by side on one checkout.
External Services
This plugin relies on the Sameday API, a third-party service provided by Деливъри Солюшънс ЕООД (Delivery Solutions EOOD, operator of the Sameday brand in Bulgaria), to deliver its shipping functionality. The plugin cannot operate without a valid Sameday API account.
The checkout map also loads map tiles from OpenStreetMap.
What the service is
Sameday is a courier company operating in Bulgaria, Romania and Hungary. Its REST API lets merchants price shipments, create and cancel waybills, download labels, and retrieve cities and pickup locations (easybox lockers and SAMEDAY points).
What data is sent and when
Authentication: the API username and password are exchanged once for a token, which is cached and sent as an X-AUTH-TOKEN header on later requests.
Recipient data (name, phone, email, city, county, address, postcode, chosen pickup location) — sent when a shipping price is calculated at checkout and when a waybill is created.
Shipment details (pickup point id, weight, package count, service, cash-on-delivery amount, declared value, order number, item descriptions) — sent when a price is calculated and when a waybill is created.
Waybill numbers — sent when a label is downloaded or a waybill is cancelled.
No customer data is sent during the daily location sync, which only downloads cities and pickup locations.
Map tiles are requested from OpenStreetMap by the customer’s browser only when the customer opens the map picker; the request reveals the customer’s IP address and the map area viewed.
Service links
Sameday: https://sameday.bg/
Sameday general terms: https://sameday.bg/obshti-usloviya-otnosno-predostavyaneto/
Sameday privacy notice: https://sameday.bg/sabshchenieto-za-poveritelnost-28-03/
OpenStreetMap tile usage policy: https://operations.osmfoundation.org/policies/tiles/
OpenStreetMap copyright: https://www.openstreetmap.org/copyright
Bundled Libraries
The map picker uses Leaflet 1.9.4 (https://leafletjs.com/), bundled locally in
assets/vendor/leaflet/ rather than loaded from a CDN, so no request leaves the visitor’s
browser until they open the map. Leaflet is distributed under the BSD 2-Clause License; its
licence text ships alongside it at assets/vendor/leaflet/LICENSE.
Sameday API Endpoints
This plugin communicates with one host per environment:
api.sameday.bg — production
sameday-api-bg.demo.zitec.com — demo
Authentication
POST /api/authenticate — Exchanges the username and password for a token, cached until shortly before it expires.
Location Data
GET /api/geolocation/city — Bulgarian cities with their county, stored in wp_drushfs_cities.
GET /api/client/ooh-locations — easybox lockers and SAMEDAY points, stored in wp_drushfs_lockers.
GET /api/client/services — Services enabled for the account.
GET /api/client/pickup-points — The merchant’s pickup points, for the settings screen.
Pricing
POST /api/awb/estimate-cost — Price for a shipment, used at cart and checkout.
Shipment Management
POST /api/awb — Creates a waybill.
GET /api/awb/download/{awbNumber} — Downloads the label PDF.
DELETE /api/awb/{awbNumber} — Cancels a waybill.
GET /api/client/awb/{reference} — Looks a shipment up by order number.
GET /api/client/status-sync — Shipment status changes.
Rate Limiting & Caching
Local database tables — Cities and pickup locations are synced once per day and queried locally.
Token caching — One authentication per token lifetime rather than one per request.
Quote caching — Prices are cached for 15 minutes per shipment shape.
Map data — The pickup list is loaded per city; the map’s country-wide list is fetched only when the customer opens the map and is cached for an hour.
