Product · e-commerce

Telegram shop

A shop that lives inside Telegram: a bot, a WebApp catalog with a cart, delivery by Nova Poshta or Ukrposhta, and orders landing in the team chat and EspoCRM.

Telegram shop
Year
2026
Status
Working stack
Scale
32 commits
Stack
Python · Telegram Bot API · WebApp · EspoCRM · Nova Poshta API · Ukrposhta API · Docker
  • 3delivery options at checkout
  • 2places every order lands
  • 32commits
  • Dockerwith autostart and auto-recover

The problem

The business already sold through Telegram. Customers needed a real cart and delivery options, and the owner needed orders in one place instead of scattered chats.

How it works

  1. 01

    The bot

    Customers start in the bot, which runs on a webhook.

  2. 02

    Catalog and cart

    A WebApp opens inside Telegram with the catalog and a cart that holds several products.

  3. 03

    Delivery

    Nova Poshta branches, Ukrposhta addresses, or pickup in Khmelnytskyi for five items or more.

  4. 04

    Orders in one place

    Every order goes to the admin group in Telegram and into EspoCRM.

  5. 05

    Support chat

    Customers can ask questions without leaving the WebApp.

  6. 06

    Keeps itself running

    The whole stack runs in Docker, starts after a reboot and recovers on its own.

Customerin TelegramBotwebhookSupport chatinside the WebAppWebAppcatalog, multi-item cartNova Poshtabranches APIUkrposhtaaddress classifierPickupKhmelnytskyi, 5+ itemsAdmin groupnew ordersEspoCRMorders, contactsDocker stackautostart after reboot, auto-recover

Limits I know about

  • Ukrposhta's address classifier needs a contract bearer token; without it, branch search for Ukrposhta stays off.

Need something like this?

Tell me about your task and data. I will answer with how I would approach it.

Discuss a project →