A conversation, not a form
The user sends a part number. If it matches several brands, the bot asks which one, then asks for retail or wholesale prices. Every step is a short numbered choice, so it works on any phone with no learning curve.
Automotive retail · Auto parts price comparison service
Buyers send a part number and get offers from several stores with price, stock, phone and address, without leaving Telegram.
The challenge
The client ran a parts search service for buyers in a big city: one catalog with more than a million parts from many stores. They wanted buyers to find a part and compare offers without opening a website or calling around, right inside a messenger they already use.
The hard part is the data. Every car-parts brand uses its own numbering, so the same number often belongs to several brands. A plain search returns a confusing mix, and a wrong part means a return and a lost customer.
On top of that, the bot had to serve both retail buyers and trade customers with different prices, promote the client's other channels, and show the business how people actually use it.
The approach
The user sends a part number. If it matches several brands, the bot asks which one, then asks for retail or wholesale prices. Every step is a short numbered choice, so it works on any phone with no learning curve.
A multi-step dialog needs memory between messages. I kept per-user session state in SQLite, keyed by Telegram user ID: fast, reliable and no extra service to run.
The million-row catalog lived in the client's MySQL database. I wrapped all queries in a dedicated data-access class over PDO, so the bot logic stayed simple and every query was parameterized and safe.
Telegram webhooks require HTTPS, so I put the bot behind Cloudflare for SSL without managing certificates on the server. Periodic promo messages and an analytics integration showed the client how people used the bot.
See it in action
The outcome
Send a short brief about your project. Within 24 hours you get an estimate or a clear next step, even if we don't work together.