Nuovi Prodotti

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 €
Al netto delle imposte

  • Autore Massaoud Bouzenad
  • Versione modulo 1.0.0
  • Rilascio data 13/08/2026
  • Accesso agli aggiornamenti e ai download 1 anno
  • Come contattare l'assistenza support@dzprod.net
  • Compatibilità Dolibarr V17 - V24   -   PHP>= 7.4
  • Ultimo aggiornamento 14/09/2026 10.16

Maggiori informazioni...

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