Promotions

New products

  • doli2doli : Data transfer between Dolibarr instances

    Doli2Doli makes it easy to transfer third parties and products between different Dolibarr instances using the REST API. Configure your destination Dolibarr instances once, then select the instance to which you want to send your data directly from the records themselves.

    25.00 €
  • DoliCreche – Complete Nursery and Day-Care Platform for Dolibarr

    Turn Dolibarr into a complete nursery platform: dashboard, children and guardians, admissions and enrolments, age groups and groups, educators, support staff and contracts, learning areas, planning and schedules, attendance desk, development observations and reports, care rates, payments, transport, meals and menus, activities, documents, parent portal and reporting.

    299.00 €

Dolishortener, URL shortener

mp1246d20260813135434

Shrink URLs from any Dolibarr module with one line of code. DoliShortener plugs into Bitly, TinyURL or is.gd — perfect for SMS invites, push notifications and printed documents. Per-entity connector config, full usage registry, and silent fallback: a shortener outage never breaks your calling module.

10.00 €
Excl. tax

  • Author Massaoud Bouzenad
  • Module version 1.0.0
  • Release date 08/13/2026
  • Access to download and updates 1 year
  • How to contact support support@dzprod.net
  • Compatibility Dolibarr V17 - V24   -   PHP>= 7.4
  • Last update 09/14/2026 10:16 AM

More info...

DoliShortener

The universal URL shortener API for Dolibarr modules

One shortenIt() call. Any connector. Zero broken links.

Every Dolibarr module that needs to send a link through a constrained channel — SMS, push notification, printed document — ends up reinventing the same shortening logic: pick a service, manage an API key, handle outages. DoliShortener centralizes that brick once: a single abstraction class, interchangeable connectors configured once by the admin, and a usage registry to audit everything.

🔌 One class, three connectors

Call DoliShortener::shortenIt($url) from any module — DoliShortener resolves the entity's active connector (Bitly, TinyURL or is.gd) and returns a short URL. Your module never needs to know which service is behind it.

  • ✅ is.gd works out of the box — no API key needed
  • ✅ Bitly and TinyURL supported via access token
  • ✅ Force a specific connector per call if needed

🛡️ Never breaks your calling module

If the active connector is down, over quota, or misconfigured, shortenIt() never throws — it silently falls back to the original long URL and logs the failure. An SMS invite never fails because of a Bitly outage.

  • ✅ Silent fallback to the original URL on any connector failure
  • ✅ Configurable HTTP timeout to protect your module's latency
  • ✅ Every attempt — success or failure — logged for diagnosis

📋 Full usage registry

Every shortened link is recorded — long URL, short URL, connector used, calling module, date, author — filterable by module and connector. Audit which module is generating traffic, and diagnose a connector issue in seconds.

  • ✅ Filterable, paginated registry screen
  • ✅ Success/failure status per entry
  • ✅ Manual "Shorten now" admin tab, logged the same way

Key features

🏢 Per-entity configuration

Each Dolibarr entity configures its own connectors, API keys and default connector — built for multi-company setups with distinct Bitly/TinyURL accounts per company.

🔐 Encrypted API keys

API keys and secrets are stored encrypted via Dolibarr's native dol_encrypt() — never in clear text.

🧪 Test connection button

Validate a connector configuration directly from the admin screen before relying on it.

👨 💻 Built for developers

A documented, stable shortenIt() contract (see doc/API.md) so third-party modules can integrate with an optional, non-breaking dependency.

How it works

  1. Install and activate DoliShortener.
  2. Enable one or more connectors in Setup — is.gd needs no configuration, Bitly and TinyURL need an API key. Choose your default connector.
  3. From any module, call DoliShortener::shortenIt($long_url, ['caller_module' => 'yourmodule']) — or use the Shorten now admin tab for a one-off manual link.
  4. Review usage anytime in the Links registry tab.

Try it

DoliShortener is a developer-facing API module with no dedicated business-document UI in v1.0 — the best way to try it is to install it on a test instance, enable the free is.gd connector (no API key required), and call shortenIt() from the Shorten now admin tab.

Support

DoliShortener is available on the Dolistore for a symbolic €10 — occasionally offered free with other DZProd modules (e.g. bundled with DoliSMS) or during promotions. For integration help, custom connectors, or priority support: onboarding at 90€/h, custom development on quote.

📧 products@dzprod.net

Changelog

v1.0.0

  •  Initial release
  •  shortenIt() abstraction class with Bitly, TinyURL and is.gd connectors
  •  Per-entity connector configuration with encrypted API keys
  •  Usage registry with filters (module, connector, status)
  •  Manual "Shorten now" admin tab

Questions? 📧 support@dzprod.net

DoliShortener is actively maintained with regular updates.




If you think this module is a fork of another one (published after the first one) or violates some terms or conditions of use (for users or vendors), you can make a report at dolistore@dolibarr.org