Drusoft Shipping for Econt
Drusoft Shipping for Econt is a high-performance, conflict-free WooCommerce integration for Econt delivery services in Bulgaria. Real-time shipping rates, two-step waybill generation, courier pickup requests, and full order management — all through the official Econt API. 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 Dynamic Checkout Experience — Real-time city, office, and automat (APS) selection directly on the checkout page. Multiple Delivery Types — Choose between delivery to Address, Econt Office, or Econt Automat (APS). Smart Street Search — Built-in autocomplete for Bulgarian street names with intelligent prefix handling (e.g. “ул.”, “бул.”). Region-Based City Filtering — Cities are filtered by the Bulgarian province selected at checkout. For Merchants HPOS Compatible — Fully supports WooCommerce High-Performance Order Storage. Automated Data Sync — Uses Action Scheduler to keep Bulgarian cities and Econt offices/automats up to date in the background. Waybill Management — Generate, print (PDF), and cancel waybills from the order edit screen. Courier Pickup Requests — Request a courier pickup directly from WP admin, with automatic skip of weekends and Bulgarian bank holidays. Dedicated Econt Orders Page — Filtered admin list of every Econt order with bulk Generate / Print / Cancel actions. Bulgarian (bg_BG) Translation Included. Also Ship via Speedy? This plugin has a sibling for the Speedy courier: Drusoft Shipping for Speedy. Both plugins share the same checkout UI, settings layout, and admin order-management screens — once you’ve learned one, the other feels familiar. Install both if your store supports delivery via either courier. External Services This plugin relies on the Econt API, a third-party service provided by Econt AD (Econt Bulgaria), to deliver its shipping functionality. The plugin cannot operate without a valid Econt API account. What the service is Econt AD is a courier and logistics company operating in Bulgaria. Their JSON API allows merchants to calculate shipping rates, create shipments (waybills), manage deliveries, request courier pickups, and retrieve location data (cities, offices, automats, streets). What data is sent and when Authentication: every request is sent over HTTPS with an Authorization: header. The Store ID is only stored locally to identify the merchant in the WooCommerce settings and is not transmitted on every request. Recipient address data (city, street, num, office/automat code, postcode, phone, email) — sent when calculating shipping rates on the cart/checkout page and when creating a waybill after order placement. Sender address data (name, phone, email, city, street, num) — sent when creating a waybill and when requesting a courier pickup. Shipment details (weight, COD flag, currency, package count, item descriptions) — sent when creating a waybill. Waybill identifiers (internal id, shipment number) — sent when cancelling a shipment, requesting a courier pickup, or generating an Air Waybill (AWB). Location queries (city ID, street name) — sent when the customer searches for cities, offices, automats, or streets, and during the daily background sync of the full Bulgarian nomenclature. Data is transmitted only when the corresponding action is triggered (a customer changes their selection on checkout, a merchant generates a waybill, the background sync runs, etc.). Service links Econt API documentation (Shipments / Nomenclatures): https://ee.econt.com/services/ Econt Terms and Conditions: https://www.econt.com/en/general-conditions Econt Privacy Policy: https://www.econt.com/en/privacy-policy Econt API Endpoints This plugin communicates with two Econt API hosts: delivery.econt.com — Orders, payments, grouping (demo: delivery-demo.econt.com) ee.econt.com — Nomenclatures and Shipments (demo: demo.econt.com/ee/) All requests are authenticated with an Authorization: header. Location Data (Nomenclatures) POST /services/Nomenclatures/getCities.json — Full list of Bulgarian cities. Used by the background syncer to populate the local wp_drushfe_cities table. POST /services/Nomenclatures/getOffices.json — All Econt offices and automats (APS). Used by the background syncer to populate the local wp_drushfe_offices table. POST /services/Nomenclatures/getStreets.json — Streets within a specific city. Used by the checkout-page street autocomplete and cached per city in a 24h transient. Pricing POST /services/OrdersService.getPrice.json — Calculates the shipping price for a recipient address, delivery type, and weight. Used live at cart/checkout each time the customer changes their selection. Shipment Management POST /services/OrdersService.updateOrder.json — Creates a waybill draft. Used by the waybill generator on order status change or via the manual “Generate Waybill” action. POST /services/OrdersService.createAWB.json — Promotes a draft to a committed Air Waybill, returning the shipment number and PDF URL. POST /services/OrdersService.deleteLabel.json — Cancels a single waybill draft by internal id. Used by the per-order “Cancel Shipment” action. POST /services/Shipments/LabelService.deleteLabels.json — Bulk-cancels committed AWBs by shipment number. Used by the Econt Orders bulk “Cancel” action. POST /services/Shipments/ShipmentService.requestCourier.json — Requests a courier pickup for one or more shipments. Used from the per-order “Request Courier” action; auto-retries on national holiday rejections. Rate Limiting & Caching The plugin minimizes API calls through several strategies: Local database tables — Cities and offices are synced once per day via Action Scheduler and queried locally. Transient caching — Per-city street lists are cached for 24 hours. Session storage — Cart selections and the most recent shipping quote are stored in the WooCommerce session, so unchanged selections do not re-quote.
Top keywords
- econt27×3.12%
- waybill13×1.50%
- services12×1.39%
- courier11×1.27%
- checkout10×1.16%
- json10×1.16%
- post9×1.04%
- post services9×1.04%
- api8×0.92%
- shipping8×0.92%
- action7×0.81%
- bulgarian7×0.81%
Drusoft Shipping for Speedy
Drusoft Shipping for Speedy is a high-performance, conflict-free WooCommerce integration for Speedy delivery services in Bulgaria. Designed for speed, reliability, and ease of use, it provides a seamless shipping experience for both merchants and customers. 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 Dynamic Checkout Experience — Real-time city and office selection directly on the checkout page. Multiple Delivery Types — Choose between delivery to Address, Speedy Office, or Speedy Automat (APS). Smart Street Search — Built-in autocomplete for Bulgarian street names with intelligent prefix handling (e.g., stripping “ул.”, “бул.”). Live Service Selection — Customers can choose between available services (Economy, Express, etc.) with real-time price updates. Region Mapping — Automated city filtering based on the selected Bulgarian province. For Merchants HPOS Compatible — Fully supports WooCommerce High-Performance Order Storage. Automated Data Sync — Uses Action Scheduler to keep Bulgarian cities and Speedy offices up-to-date in the background. Credential Validation — Validates API credentials in real-time before saving. Custom Pricing — Support for custom pricing CSV files for specialized shipping rates. Advanced Order Management — Dedicated metabox in the order edit screen, integrated waybill generation, and bulk actions for managing multiple Speedy orders. Clean Codebase — Built with modern PHP standards and conflict-free architecture. Also Ship via Econt? This plugin has a sibling for the Econt courier: Drusoft Shipping for Econt. Both plugins share the same checkout UI, settings layout, and admin order-management screens — once you’ve learned one, the other feels familiar. Install both if your store supports delivery via either courier. External Services This plugin relies on the Speedy REST API, a third-party service provided by Speedy AD (Speedy Bulgaria), to deliver its shipping functionality. The plugin cannot operate without a valid Speedy API account. What the service is Speedy AD is a courier and logistics company operating in Bulgaria. Their REST API allows merchants to calculate shipping rates, create shipments (waybills), manage deliveries, and retrieve location data (cities, offices, automats, streets). What data is sent and when API credentials (username and password) — sent with every API request for authentication. Recipient address data (city, street, office ID) — sent when calculating shipping rates at cart/checkout and when creating a waybill after order placement. Shipment details (weight, dimensions, COD amount, service type, sender/recipient info) — sent when generating a waybill. Waybill ID — sent when cancelling a shipment, requesting a courier pickup, or printing a waybill label. Location queries (city name, street name) — sent when the customer or admin searches for cities, offices, or streets. Data is transmitted only when the corresponding action is triggered (e.g., a customer proceeds to checkout, a merchant generates a waybill, or the background sync runs). Service links Speedy API base URL: https://api.speedy.bg/v1/ Speedy Terms and Conditions: https://www.speedy.bg/en/general-conditions Speedy Privacy Policy: https://www.speedy.bg/en/privacy-policy Speedy API Documentation: https://api.speedy.bg/ Speedy API Endpoints This plugin communicates with the Speedy REST API v1 (https://api.speedy.bg/v1/). All requests are authenticated using the userName and password fields configured in the shipping method settings. Below is a summary of every endpoint used, along with its purpose and where it is called in the plugin. Authentication & Account POST /v1/client/contract — Validates API credentials and retrieves the list of client contracts (sender accounts). Used during credential validation when the merchant saves settings, and to populate the “Sender (Object)” dropdown in the shipping method configuration. POST /v1/client/contract/info — Retrieves detailed contract information, including special delivery requirements (e.g., mandatory open-on-test, two-way receipt). Used to populate the “Special Requirements” multi-select in the shipping method settings. Location Data POST /v1/location/site — Searches for cities/sites by name within Bulgaria (countryId: 100). Used by the admin Select2 city search when configuring the sender city, and for the public-facing city autocomplete on checkout. POST /v1/location/site/csv/100 — Downloads the complete list of Bulgarian cities in CSV format. Used by the background syncer (Drushfo_Syncer) to populate and update the wp_drushfo_cities database table via Action Scheduler. POST /v1/location/office — Retrieves all Speedy offices and automats for Bulgaria. Used in two contexts: (1) the background syncer updates the wp_drushfo_offices table, and (2) the admin Select2 office search for configuring the sender office. POST /v1/location/street — Searches for streets within a specific city (siteId). Used on the checkout page to provide street autocomplete when the customer selects “Delivery to Address.” Services & Pricing POST /v1/services — Retrieves the list of available shipping services (e.g., Standard 505, Express 501) for the authenticated account. Used to populate the “Active Services” multi-select in the shipping method settings. POST /v1/calculate — Calculates the shipping price for a specific service, weight, destination, and delivery type. Used at cart/checkout time when the pricing method is set to “Speedy Calculator” or “Calculator + Surcharge.” Shipment Management POST /v1/shipment/ — Creates a new shipment (waybill) with the Speedy system. Includes sender/recipient details, service, weight, COD amount, and delivery type. Used by the waybill generator, either automatically on order status change or manually from the order metabox. POST /v1/shipment/cancel — Cancels an existing shipment by its waybill ID. Used from the “Cancel Shipment” button in the Speedy order metabox or the Speedy Orders bulk action. POST /v1/pickup — Requests a courier pickup for one or more shipments. Accepts a visit end time and auto-adjusts the pickup date. Used from the “Request Courier” button in the order metabox. POST /v1/print — Generates a printable waybill label (PDF) for a shipment. Supports A4, A6, and label formats with optional additional barcode copy. Used from the “Print Waybill” button in the order metabox and the Speedy Orders page. Rate Limiting & Caching The plugin minimizes API calls through several strategies: Local database tables — Cities and offices are synced periodically via Action Scheduler and queried locally, avoiding per-request API calls for location data. Transient caching — Service lists, contract data, and client information are cached using WordPress transients to reduce redundant API calls. Session storage — Cart selections (city, delivery type, office) are stored in the WooCommerce session, so shipping calculations reuse the customer’s choices without extra lookups.