Asosiy mazmunga o'tish
Socialift
Imkoniyat

Instagram Direct API

Instagram Direct API biznes akkauntga kelgan suhbatlarni o'qish va ularga 24 soatlik oyna ichida javob berish imkonini beradi. Socialift bu chaqiruvlarni normallashtiradi va har bir suhbatdoshni to'liq profil bilan qaytaradi — faqat ID va username emas, balki ism, obunachilar soni va biznesni kuzatish holati bilan.

Yangilangan:

Instagram Direct API nima qila oladi?

Instagram Messaging API biznes akkauntga kelgan Direct suhbatlarini o'qish va ularga javob berish imkonini beradi. U faqat professional (Business yoki Creator) akkauntlar uchun: Instagram Login yo'lida instagram_business_manage_messages, Facebook Login yo'lida instagram_manage_messages ruxsati kerak. Suhbatni faqat foydalanuvchi boshlaydi va javob 24 soatlik oynaga bo'ysunadi.

Amalda o'z tizimingiz ichida inbox qura olasiz: suhbatlar ro'yxati, so'nggi xabarlar, javob yuborish va operatorlar o'rtasida taqsimlash. Cheklovlar: har suhbatda faqat oxirgi 20 ta xabar tafsiloti olinadi, 30 kundan beri faol bo'lmagan «So'rovlar» papkasidagi suhbatlar qaytmaydi, guruh chatlari qo'llab-quvvatlanmaydi — to'liq tarix uchun xabarlarni webhook orqali o'z bazangizga yozing.

Cheklov aniq: foydalanuvchining oxirgi xabaridan keyin 24 soat ichida javob berish mumkin. Oyna yopilgach faqat jonli operator javobini HUMAN_AGENT tegi bilan 7 kungacha yuborish mumkin — buning uchun App Review'dan o'tgan Human Agent imkoniyati kerak. SDK'dagi send_message teg qo'shmaydi, shuning uchun oynadan tashqarida Meta uni rad etadi.

Socialift nimani qo'shadi

01

To'liq kontakt profili

Suhbatlar API'si ishtirokchi uchun faqat ID va username beradi. Socialift User Profile API orqali ism, follower_count, is_user_follow_business va is_business_follow_user maydonlarini qo'shadi (profil foydalanuvchi sizga yozgandan keyin ochiladi).

02

Parallel so'rovlar

Profil so'rovlari parallel yuboriladi (bir vaqtda 8 tagacha) — 50 ta suhbat uchun 50 ta ketma-ket so'rovni kutmaysiz. SDK profilni keshlamaydi: kerak bo'lsa, o'z bazangizda saqlang.

03

Yagona xato modeli

AuthError va RateLimitError — Instagram, Facebook, LinkedIn, TikTok va Telegram uchun bir xil. retry_after qiymati javobdan olinadi.

04

appsecret_proof

app_secret berilgan bo'lsa, har bir so'rovga appsecret_proof avtomatik qo'shiladi — ilovada «Require App Secret» yoqilganda usiz Meta so'rovni rad etadi.

Suhbatlarni o'qish

conversations.py
import asyncio, os
from socialift import Instagram

async def main(page_token: str):
    # Facebook Login yo'li; Instagram Login'da: Instagram.from_env() va IG tokeni, page_id kerak emas
    async with Instagram.via_facebook(app_secret=os.environ["FACEBOOK_APP_SECRET"]) as ig:
        chats = await ig.conversations(page_token, page_id="1111", ig_user_id="2222")
        for chat in chats["data"]:
            c = chat["contact"]
            if c:
                print(c.get("name"), c.get("follower_count"), "kuzatadimi:", c.get("is_user_follow_business"))

asyncio.run(main("PAGE_TOKEN"))

Xabar yuborish va xatolarni boshqarish

Rate-limit, yopilgan 24 soatlik oyna va bekor qilingan token — ishlab chiqarishda eng ko'p uchraydigan holatlar.

reply.py
import asyncio, os
from socialift import AuthError, Instagram, PermissionError, RateLimitError

async def reply(recipient_id: str, page_token: str, text: str):
    async with Instagram.via_facebook(app_secret=os.environ["FACEBOOK_APP_SECRET"]) as ig:
        try:
            await ig.send_message(recipient_id, page_token, text, page_id="1111")
        except RateLimitError as exc:
            await asyncio.sleep(exc.retry_after or 60)  # keyin qayta urining yoki navbatga qo'ying
        except PermissionError:
            ...  # 24 soatlik oyna yopilgan — operatorga topshiring
        except AuthError:
            ...  # token bekor qilingan → foydalanuvchini qayta login qilishga yo'naltiring

asyncio.run(reply("IGSID", "PAGE_TOKEN", "Salom! Savolingizga javob beramiz."))

Direct integratsiyasini loyihalashda

  • 24 soatlik oynani kuzating — javob berilmagan suhbatlarni alohida navbatga ajrating.
  • Xabar yuborish idempotent bo'lsin: takroriy webhook kelganda ikkinchi javob ketmasin.
  • Operator javob bergani va bot javob berganini ajratib belgilang — hisobot uchun kerak.
  • Suhbatdosh profilini o'z bazangizda saqlang, lekin follower sonini davriy yangilang.
  • Foydalanuvchi bloklagan yoki ruxsatni bekor qilgan holatni interfeysda ko'rsating.

Ko'p so'raladigan savollar

Instagram Direct'ga API orqali avtomatik javob yuborish mumkinmi?

Ha, foydalanuvchining oxirgi xabaridan keyin 24 soat ichida. Oynadan tashqarida avtomatik xabar yuborib bo'lmaydi: faqat jonli operator HUMAN_AGENT tegi bilan 7 kungacha javob bera oladi (Human Agent imkoniyati App Review talab qiladi). Socialift'ning send_message metodi faqat matn yuboradi va teg qo'shmaydi.

Direct API uchun qanday ruxsat kerak?

Instagram Login yo'lida instagram_business_basic va instagram_business_manage_messages; Facebook Login yo'lida instagram_basic, instagram_manage_messages va pages_show_list (bu yo'lda akkaunt Facebook sahifasiga bog'langan bo'ladi). O'zingizga tegishli bo'lmagan akkauntlarga xizmat qilsangiz, Advanced Access uchun App Review kerak.

Suhbatdosh haqida qanday ma'lumot olish mumkin?

Socialift orqali ism, username, obunachilar soni, is_user_follow_business va is_business_follow_user keladi. Meta profilni faqat foydalanuvchi sizga yozgan yoki icebreaker'ni bosgan bo'lsa beradi; sizni bloklagan foydalanuvchi profili ochilmaydi. Bu maydonlar lead sifatlashda ishlatiladi.

Instagram Direct'da foydalanuvchiga birinchi bo'lib yozish mumkinmi?

Yo'q. Suhbat faqat foydalanuvchi biznes akkauntga yozganda boshlanadi — Direct, post, story eslatmasi yoki boshqa kanal orqali. Guruh chatlari qo'llab-quvvatlanmaydi: bitta suhbatda professional akkaunt faqat bitta mijoz bilan gaplashadi.

Bepul oyda SDK'ning Direct metodlari ishlaydimi?

Ha. Birinchi 30 kun token SDK'ning barcha imkoniyatlarini ochadi, jumladan conversations, messages, send_message va contact. 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 esa rejadan qat'i nazar ishlaydi.

Manbalar

  1. Meta: Send messages (Instagram API with Instagram Login)
  2. Meta: Conversations API
  3. Meta: User Profile API
  4. Meta: Human Agent feature
  5. Meta: Overview of the Instagram API

Bog'liq sahifalar

Direct'ni o'z tizimingizga oling

Token oling va birinchi suhbatlar ro'yxatini SDK orqali bugun torting.

Bepul token olish →