Telegram order notifications for OpenCart 2.3, 3.x and 4.x
Нові замовлення, зміна статусу й низький залишок OpenCart приходять у ваш Telegram за секунди. Власні шаблони повідомлень, кілька чатів і теми форум-груп, журнал надсилань. Безкоштовно, збірки для OpenCart 3.x і 4.x.
What each licence includes
| Feature | Free |
|---|---|
| Telegram notification for new orders | ✔ |
| Notification when an order's status changes | ✔ |
| Notification when product stock drops below a threshold | ✔ |
| Works through your own bot from @BotFather | ✔ |
| Token stays in your admin panel and is never sent anywhere | ✔ |
| Multiple recipients: personal chat, group, or channel | ✔ |
| Two builds: OpenCart 3.x and 4.x | ✔ |
| Free | ✔ |
The module sends your OpenCart store’s events to Telegram: new order, status change, and low stock. Your manager sees the order seconds after checkout — on their phone, no email, no logging into the admin panel.
It works through your own bot, created via @BotFather: the token is stored encrypted in your database, and messages go straight to Telegram. No middleman services, no subscription — the module is completely free, open source.
What the admin gets




How it works, step by step
- A customer places an order in the storefront.
- The order lands in one of the statuses you’ve marked as “new order”.
- The module assembles a message from your template: order number, contents, total, buyer contacts, payment and delivery method.
- The message goes to every chat you’ve specified; each one includes a link that opens the order in the admin panel.
- Later, when the status changes to one of the ones you’ve flagged, a short “was → became” message follows.
- The outcome of every send is recorded in the log; failed attempts are retried.
What’s included
- New order — announced once, the first time an order reaches a chosen status (later status changes don’t duplicate it).
- Status change — its own list of statuses, so the chat isn’t flooded with noise.
- Low stock — checked after stock is deducted; no more than one message per product per day.
- Multiple chats — a personal chat, group, channel, or a forum-group topic.
- Custom templates — 20+ tags; a line whose tags are all empty is automatically dropped from the message.
- Silent notifications, a delivery log, retry via cron.
- “Find chat_id” button — the chat ID is looked up right in the admin panel, no third-party bots needed.
Pricing
Free, forever, with no limit on the number of domains. The code is open — both builds are on GitHub.
Requirements
- OpenCart 3.0.2 – 3.0.5.0 or 4.0.2 – 4.1.x
- PHP 7.4+ with cURL
- Outbound access to
api.telegram.org(some hosts block it — check this if the test fails) - Cron, for retrying failed sends. OpenCart 4 registers the task itself; OpenCart 3 has no scheduler, so the hosting cron URL is shown right in the module’s settings
Under the hood
- The bot token is encrypted before being written to settings, and shown as “saved” in the form.
- Messages are sent in HTML mode with link previews disabled; long text is truncated to Telegram’s limit (4096 characters).
- Tag values are escaped — a buyer’s name containing
<won’t break the message markup. - “New order” deduplication happens at the log level: the event is recorded before sending, so a duplicate is impossible even if the trigger fires twice.
- In the OpenCart 3 build, the database connection is temporarily switched to
utf8mb4— otherwise OpenCart 3’s core (which runs on 3-byteutf8) turns emoji in templates into “?”.
Download
- For OpenCart 4.x —
cc_telegram.ocmod.zip - For OpenCart 3.0.x —
cc_telegram-oc3.ocmod.zip
How to install
- Admin panel → Extensions → Installer → “Upload” → choose the archive for your OpenCart version.
- Click “Install” and wait for it to finish; then go to Extensions → Modifications → “Refresh”.
- Extensions → Extensions → type “Modules” → find “Telegram Order Notifications” → “Install”, then “Edit”.
- Create a bot: message @BotFather with the
/newbotcommand and copy the token. - Paste the token, send the bot any message, and click “Find chat_id”.
- Paste the ID into the “Notification chats” field, send a test message, tick the statuses you need, and save.
Version history
- 1.0.2 (OpenCart 3 build) — 6 August 2026
- The OpenCart 3 build was brought up to parity with the fourth-version one: scheduled retries for failed messages (attempt counter and its own limit, text rebuilt fresh from the current order), low-stock notifications capped at one per product per day. 🔴 Fixed: opening the settings showed “?” instead of emoji in templates, and saving wrote those “?” back to the database — both sides now read the template through a separate utf8mb4 query. Also, the breadcrumbs showed an internal key instead of the word “Home”.
- 1.0.2 — 3 August 2026
- PHP 7.4 support (added polyfills for string functions), and the event fixes from 1.0.1 were carried over into the source. Nothing changed functionally for stores running PHP 8.
- 1.0.1 — 24 July 2026
- 🔴 Fixed: on OpenCart 4.0.2.x, notifications didn’t send at all. The core builds the model event name differently across minor versions (4.0.2 uses a slash, 4.1 uses a dot), so a trigger with a dot never matched — and no error was raised. The separator is now written as a wildcard and works across all 4.x versions.
- 1.0.0 — 20 July 2026
- First release. Notifications for new orders, status changes, and low stock; custom templates with 20+ tags, multiple chats and forum-group topics, silent mode, delivery log, retry via cron, encrypted bot token. Separate builds for OpenCart 4.x and 3.0.x, both verified on live demos (4.1.0.3 and 3.0.5.0).
Frequently asked questions
Do I need any third-party service or subscription?
No. Your own bot sends messages straight to the Telegram API. There's no server of ours between your store and Telegram — we never see the orders or the token.
How much does it cost?
Free. There's no limit on the number of messages, chats, or orders — the only limits are Telegram's own (roughly 30 messages per second per bot).
How do I notify several managers?
Enter several IDs in the "Notification chats" field, one per line. You can mix a personal chat, group, and channel. For a specific topic in a forum group, add the topic number after a colon, e.g. -1001234567890:42.
The bot isn't posting to the group — what do I do?
Add the bot to the group and give it permission to send messages (for a channel, make it an admin). Then send any message in the group and click "Find chat_id": a group ID is always negative.
The message shows <b> tags instead of bold text.
That means the template contains a disallowed or unclosed tag. Telegram only understands <b>, <i>, <u>, <s>, <code>, <pre> and <a href>. Check the template and save it again.
Can I turn off the notification sound?
Yes, enable "Silent notifications" — Telegram will deliver them without a sound alert, though the message still appears in the chat.
What happens if Telegram is unreachable at the moment of the order?
The failed attempt is logged with a response code, and the module resends the message. The order itself isn't affected — checkout is never blocked.
Questions about the module?
Message us on Telegram — we reply within the working day. We will help with setup, compatibility and key activation.
No reviews yet. Be the first — right below.
Leave a review
Reviews are moderated before publication, which usually takes up to 24 hours.
No questions yet. Ask one — we answer within 24 hours.
Ask a question
We usually reply within 24 hours during working hours.
Buying the module
—