ZaminDocs

Deep linking

Har bir botning ochiq havolasi bor: https://zamin.app/<bot_username>. Unga ?start=PARAM qo'shsangiz, foydalanuvchi Start'ni bosganda bot /start PARAM xabarini oladi. Reklama manbalari, taklif kodlari yoki to'g'ridan-to'g'ri biror bo'limni ochish uchun qulay.

Havola ko'rinishi

Matn
https://zamin.app/ObHavoBot
https://zamin.app/ObHavoBot?start=toshkent
QoidaQiymat
Ruxsat etilgan belgilarA-Z a-z 0-9 _ -
Uzunlik1–64 belgi
Mos kelmasaParametr tashlab yuboriladi: oddiy /start keladi

Brauzerda havola bot kartasini (rasm, nom, @username, qisqa ma'lumot, "Bot" belgisi) va "Zamin'da ochish" tugmasini ko'rsatadi. Ilovada bot profili va tavsif ochiladi; foydalanuvchi Start'ni bosgach, bot xabarni oladi. Bot egasi sahifada hech qachon ko'rsatilmaydi.

/start PARAM qanday keladi

Odatdagi message yangilanishi, matni /start PARAM:

JSON
{
  "update_id": 21,
  "message": {
    "message_id": 1,
    "from": {
      "id": 4810235517,
      "is_bot": false,
      "first_name": "Ali",
      "last_name": "Valiyev",
      "username": "ali",
      "language_code": "uz"
    },
    "chat": {
      "id": 4810235517,
      "type": "private",
      "first_name": "Ali",
      "last_name": "Valiyev",
      "username": "ali"
    },
    "date": 1791106200,
    "text": "/start toshkent"
  }
}
  • Start har bosilganda /start qayta yuboriladi — foydalanuvchi botni avval boshlagan bo'lsa ham. Kodingiz buni ko'tara olsin (masalan, taklif bonusini ikki marta bermang).
  • Bot bloklangan bo'lsa, Start uni blokdan chiqaradi: avval my_chat_member (kicked → member), keyin /start … xabari keladi.
  • Birinchi marta boshlaganda avval my_chat_member (left → member) keladi.
Python
def on_message(message):
    text = message.get("text", "")
    if text == "/start" or text.startswith("/start "):
        param = text[len("/start"):].strip()       # "" yoki "toshkent"
        if param:
            reply = f"Siz {param} havolasi orqali keldingiz."
        else:
            reply = "Xush kelibsiz!"
        requests.post(
            f"{API}/sendMessage",
            json={"chat_id": message["chat"]["id"], "text": reply},
            timeout=15,
        )

Inline tugmada boshqa botga (yoki o'zingizga) havola berishingiz mumkin. zamin.app havolalari faqat shu ko'rinishda ruxsat etiladi:

JSON
{"text": "Ob-havo botini ochish", "url": "https://zamin.app/ObHavoBot?start=from_shop"}

Boshqa qoidalar: URL qoidalari.