Asosiy mazmunga o'tish
Socialift
Qo'llanma

Instagramni CRM ga qanday ulash mumkin

Instagramni CRM ga ulash uchun beshta narsa kerak: professional akkaunt (Business yoki Creator), kerakli ruxsatlarga ega Meta ilovasi, OAuth oqimi, webhooklar uchun HTTPS endpoint va hodisalarni CRM'ga yozadigan kod. Facebook sahifasi faqat Facebook Login yo'li va Lead Ads uchun shart. Quyida har bir bosqich amaliy tafsilotlari bilan.

Nashr etilgan: Yangilangan:

Qisqacha javob

Login yo'lini tanlang: Instagram Login (sahifasiz, instagram_business_manage_messages) yoki bog'langan sahifa bilan Facebook Login (instagram_manage_messages, Lead Ads uchun leads_retrieval). OAuth oqimini quring, webhooklarga obuna bo'ling va ekran yozuvi bilan App Review topshiring. Shundan keyin har bir yangi Direct xabari va lead endpointingizga hodisa bo'lib keladi, kodingiz uni CRM'ga yozadi.

Bosqichma-bosqich

  1. Akkauntni tayyorlang

    Instagram akkauntini Business yoki Creator turiga o'tkazing — shaxsiy akkauntlar qo'llab-quvvatlanmaydi. Facebook sahifasini faqat Facebook Login ishlatsangiz yoki Lead Ads kerak bo'lsa bog'lang.

  2. Meta ilovasini yarating

    Meta for Developers'da ilova oching. Instagram va Webhooks mahsulotlarini qo'shing, ilova sirini (app secret) xavfsiz joyda saqlang.

  3. Ruxsatlarni so'rang

    Suhbatlar uchun instagram_manage_messages (Instagram Login'da instagram_business_manage_messages); leadlar uchun leads_retrieval, pages_manage_ads va ads_management; sahifa va webhooklar uchun pages_show_list, pages_read_engagement va pages_manage_metadata. Faqat ishlatadiganingizni so'rang.

  4. OAuth oqimini yozing

    CRM ichidagi «Instagramni ulash» tugmasi tanlangan login oynasiga (Facebook yoki Instagram) olib boradi. Qaytgan kodni serverda tokenga almashtirasiz: Facebook Login'da sahifalarni va har biriga bog'langan Instagram akkaunt ID'sini, Instagram Login'da esa Instagram foydalanuvchi ID'sini saqlaysiz.

  5. Webhookni ulang

    Haqiqiy sertifikatli HTTPS endpoint oching, hub.challenge tekshiruviga javob bering (verify_challenge), X-Hub-Signature-256 ni xom tanaga qarab tekshiring (verify_request) va har bir sahifani ilovaga obuna qiling (fb.subscribe_page). Izoh webhooklari uchun Advanced Access va Live rejimi kerak.

  6. Hodisalarni moslang

    Yangi suhbat → kontakt va bitim; lead formasi → lead; izoh → vazifa. Manba belgisini (source) har bir yozuvga qo'ying.

  7. Javob oqimini yoping

    Menejer CRM ichidan javob yozsin. Bu 24 soatlik oyna ichida ishlaydi — oynani interfeysda ko'rsating. Oynadan tashqarida human_agent tegi 7 kungacha javob berishga ruxsat beradi (Human Agent ruxsati kerak); ig.send_message() teg qo'ymaydi.

OAuth callback — sahifalar va Instagram akkauntlari

Facebook Login yo'li: kod tokenga almashtiriladi va har bir sahifa bog'langan Instagram akkaunti bilan saqlanadi.

callback.py
import asyncio
from socialift import Facebook

async def main(code: str):
    # FACEBOOK_APP_ID, FACEBOOK_APP_SECRET, SOCIALIFT_LICENSE_KEY — env
    async with Facebook.from_env() as fb:
        token = await fb.exchange_code(code, redirect_uri="https://siz.uz/cb")
        for page in await fb.pages(token.access_token):
            # sahifa, uning tokeni (shifrlab saqlang) va bog'langan Instagram akkaunti
            crm.save_connection(page.id, page.access_token, page.instagram_id)

asyncio.run(main("CODE_FROM_CALLBACK"))

Suhbatlarni CRM kontaktlariga aylantirish

sync.py
import asyncio, os
from socialift import Instagram

async def main():
    async with Instagram.via_facebook(app_secret=os.environ["FACEBOOK_APP_SECRET"]) as ig:
        chats = await ig.conversations(page_token, page_id=PAGE_ID, ig_user_id=IG_USER_ID)
        for chat in chats["data"]:
            c = chat["contact"]
            if not c:
                continue
            crm.upsert_contact(external_id=c["id"], name=c.get("name") or c.get("username"),
                               source="instagram_direct", followers=c.get("follower_count"),
                               is_follower=c.get("is_user_follow_business"))

asyncio.run(main())

Profil maydonlari har doim ham kelmaydi (masalan, foydalanuvchi sizni bloklagan bo'lsa), shuning uchun c.get(...) ishlatiladi.

Eng ko'p uchraydigan xatolar

  • Akkaunt hali shaxsiy (Business yoki Creator emas) — API umuman ishlamaydi.
  • App Review'dan o'tilmagan: ilovada roli bor akkauntlarda ishlagan narsa boshqa mijozlarda ishlamaydi.
  • Ilova Live rejimiga o'tkazilmagan yoki sahifa ilovaga obuna qilinmagan — webhooklar kelmaydi.
  • Webhook imzosi qayta serializatsiya qilingan JSON bo'yicha hisoblangan.
  • Hodisa dedupe qilinmagan — CRM'da dubl bitimlar paydo bo'lgan.
  • 24 soatlik oyna hisobga olinmagan — javob yuborilmay qaytgan.
  • Token muddati kuzatilmagan — integratsiya jimgina to'xtagan.

Qancha vaqt oladi

Texnik qism — OAuth, webhook va hodisalarni moslash — CRM'ingizga bog'liq. Eng uzoq bosqich odatda App Review: Meta ko'rib chiqish muddati sizga bog'liq emas.

Shuning uchun to'g'ri tartib: integratsiyani ilovada roli bor akkauntlarda (Standard Access) ishlab chiqish va sinash, ekran yozuvini tayyorlash, keyin Advanced Access uchun App Review topshirish.

← Blogga qaytish

Ko'p so'raladigan savollar

Instagramni CRM ga ulash uchun dasturchi kerakmi?

Ha. Bu jarayon Meta ilovasi, OAuth va webhook endpointini talab qiladi — texnik bilimsiz bajarib bo'lmaydi. CRM'ingiz uchun tayyor plagin mavjud bo'lgan holatlar bundan mustasno.

Bir nechta Instagram akkauntni bitta CRM ga ulash mumkinmi?

Ha. Facebook Login'da har bir akkaunt o'z sahifasi va sahifa tokeni orqali, Instagram Login'da esa o'z Instagram foydalanuvchi tokeni bilan ulanadi. CRM tomonida ularni alohida ulanish sifatida saqlang.

Instagram tarixiy yozishmalarni ham beradimi?

Cheklov bilan: ig.conversations() suhbatlarni, ig.messages() xabarlarni o'qiydi, lekin Meta har bir suhbatda faqat oxirgi 20 ta xabar tafsilotini beradi, 30 kundan ortiq faol bo'lmagan Requests suhbatlari qaytarilmaydi.

Instagram Login yoki Facebook Login — qaysi birini tanlash kerak?

Faqat Direct va izohlar kerak bo'lsa, Instagram Login yetarli — Facebook sahifasi shart emas. Lead Ads leadlari ham kerak bo'lsa yoki mijozlarning akkauntlari allaqachon sahifaga bog'langan bo'lsa, Facebook Login'ni tanlang: leadgen hodisasi va leads_retrieval sahifa orqali ishlaydi.

Socialift sinov tokeni bu integratsiyaning hammasini ochadimi?

Ha, birinchi 30 kun davomida: sinov tokeni SDK'ning barcha imkoniyatlarini ochadi — Direct, Lead Ads, statistika, e'lon qilish va webhook yordamchilari. Keyin token balansdan 30 kunlik davrlarga uzaytiriladi va imkoniyatlar token rejasiga bog'liq bo'ladi — aniq ro'yxatni kabinetdagi «Tekshirish va muhitlar» ko'rsatadi. Kabinet Playground'i rejadan qat'i nazar ishlaydi.

Manbalar

  1. Meta: Instagram API with Instagram Login
  2. Meta: Instagram Platform overview (permissions)
  3. Meta: Retrieving leads (Lead Ads)
  4. Meta: Instagram webhooks
  5. Meta: Conversations API
  6. Meta: Human Agent feature

Bog'liq sahifalar