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
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.
Meta ilovasini yarating
Meta for Developers'da ilova oching. Instagram va Webhooks mahsulotlarini qo'shing, ilova sirini (app secret) xavfsiz joyda saqlang.
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.
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.
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.
Hodisalarni moslang
Yangi suhbat → kontakt va bitim; lead formasi → lead; izoh → vazifa. Manba belgisini (source) har bir yozuvga qo'ying.
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.
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
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.
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.