اتصال API اینستاگرام به Chatbot برای پاسخ خودکار به پیامها
مقدمه
یکی از کاربردهای Instagram Graph API امکان ارسال و دریافت پیامهای دایرکت بهصورت خودکار است. با اتصال چتبات (Chatbot) به API اینستاگرام، میتوان به پیامهای دایرکت کاربران بهصورت خودکار پاسخ داد، پشتیبانی مشتریان را بهبود بخشید و تعامل با مخاطبان را افزایش داد. در این مقاله، مراحل اتصال API اینستاگرام به یک چتبات را بررسی میکنیم و نحوه ارسال پاسخهای خودکار به دایرکتها را توضیح میدهیم.
چرا از Chatbot برای دایرکت اینستاگرام استفاده کنیم؟
۱. پاسخدهی سریع به کاربران
مشتریان انتظار پاسخ سریع دارند؛ یک چتبات میتواند بلافاصله به سوالات متداول پاسخ دهد.
۲. صرفهجویی در زمان و هزینه
به جای پاسخگویی دستی، چتبات میتواند پاسخهای اولیه را مدیریت کند و تیم پشتیبانی را فقط در موارد خاص درگیر کند.
۳. افزایش تعامل با کاربران
با یک چتبات هوشمند، میتوان به پیامهای کاربران واکنش نشان داد و آنها را به صفحات خاص هدایت کرد.
۴. مدیریت درخواستهای زیاد
اگر روزانه پیامهای زیادی دریافت میکنید، چتبات میتواند مدیریت مکالمات را خودکار کند.
مراحل اتصال API اینستاگرام به Chatbot
۱. فعالسازی API پیامهای دایرکت اینستاگرام
برای اتصال چتبات به اینستاگرام، باید دسترسی به Instagram Messaging API را فعال کنید.
پیشنیازها:
حساب Business در اینستاگرام
اتصال صفحه اینستاگرام به Facebook Business Page
داشتن Facebook Developer Account
۱. ثبت اپلیکیشن در Facebook Developer
۱. وارد Facebook Developers شوید.
۲. یک اپلیکیشن جدید ایجاد کنید.
3. در بخش Products، گزینه Messenger را اضافه کنید.
4. Instagram Messaging API را فعال کنید.
۲. دریافت Access Token
بعد از ثبت اپلیکیشن، باید توکن دسترسی (Access Token) دریافت کنید:
curl -X GET "https://graph.facebook.com/v18.0/{page-id}?fields=access_token&access_token={your-access-token}"
خروجی: یک Access Token معتبر برای ارسال و دریافت پیامها.
۲. تنظیم Webhook برای دریافت پیامها
Webhook برای دریافت پیامهای جدید و ارسال پاسخ خودکار ضروری است.
۱. راهاندازی Webhook در Facebook Developer
۱. در داشبورد اپلیکیشن خود، به Messenger > Webhooks بروید.
۲. آدرس سرور (URL) خود را ثبت کنید.
۳. messages
و messaging_postbacks
را فعال کنید.
۲. نمونه Webhook برای دریافت پیام
from flask import Flask, request
app = Flask(__name__)
@app.route('/webhook', methods=['POST'])
def webhook():
data = request.json
if 'entry' in data:
for entry in data['entry']:
for messaging in entry['messaging']:
if 'message' in messaging:
sender_id = messaging['sender']['id']
message_text = messaging['message']['text']
send_reply(sender_id, message_text)
return "OK", 200
def send_reply(recipient_id, message):
print(f"پیام دریافت شد: {message}")
# اینجا میتوانید پاسخ خودکار ارسال کنید
if __name__ == '__main__':
app.run(port=5000)
این کد پیامهای دایرکت را دریافت میکند و در آینده میتوان پاسخ خودکار اضافه کرد.
۳. ارسال پاسخ خودکار با چتبات
بعد از دریافت پیام، میتوان پاسخ خودکار ارسال کرد.
۱. ارسال پیام به کاربر با API Instagram
curl -X POST "https://graph.facebook.com/v18.0/me/messages"
-H "Content-Type: application/json"
-d '{
"recipient": {"id": "USER_ID"},
"message": {"text": "سلام! چطور میتوانم کمکتان کنم؟"},
"messaging_type": "RESPONSE"
}'
این درخواست یک پیام خودکار برای کاربر ارسال میکند.
۲. ارسال پاسخ هوشمند با Python
import requests
ACCESS_TOKEN = "your-access-token"
def send_reply(recipient_id, message):
url = f"https://graph.facebook.com/v18.0/me/messages?access_token={ACCESS_TOKEN}"
payload = {
"recipient": {"id": recipient_id},
"message": {"text": message},
"messaging_type": "RESPONSE"
}
response = requests.post(url, json=payload)
return response.json()
send_reply("USER_ID", "سلام! چطور میتوانم کمکتان کنم؟")
این کد پاسخهای هوشمند به کاربران ارسال میکند.
اضافه کردن قابلیتهای پیشرفته
۱. تشخیص کلمات کلیدی و پاسخهای خودکار
چتبات میتواند کلمات کلیدی را تشخیص دهد و پاسخ مناسب ارسال کند.
def auto_reply(message):
if "قیمت" in message:
return "برای دریافت لیست قیمتها، لطفاً به لینک زیر مراجعه کنید: https://yourwebsite.com/pricing"
elif "ارسال" in message:
return "ارسال سفارشات در کمتر از ۲۴ ساعت انجام میشود!"
else:
return "متوجه نشدم! لطفاً سوال خود را واضحتر بپرسید."
send_reply("USER_ID", auto_reply("قیمت محصولات؟"))
نتیجه: اگر کاربر درباره “قیمت” بپرسد، لینک قیمتها را دریافت میکند.
۲. اتصال به ChatGPT برای پاسخهای هوشمند
برای پاسخهای دقیقتر، میتوان ChatGPT API را به چتبات متصل کرد.
import openai
openai.api_key = "your-openai-api-key"
def chatgpt_reply(message):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": message}]
)
return response["choices"][0]["message"]["content"]
send_reply("USER_ID", chatgpt_reply("قیمت محصولات را بگو"))
نتیجه: چتبات پاسخ را از ChatGPT دریافت کرده و به کاربر ارسال میکند.
چالشها و راهکارها
۱. محدودیتهای API اینستاگرام
- پیامرسانی فقط برای حسابهای تجاری فعال است.
- نیاز به دریافت Access Token معتبر دارد.
۲. محدودیت نرخ درخواست (Rate Limits)
- API محدودیت تعداد پیامهای روزانه دارد.
- برای ارسال حجم بالای پیام، باید درخواستها را مدیریت کنید.
۳. تحریمهای ایران
- برای دسترسی به API، نیاز به سرور خارجی یا VPN دارید.
همچنین بخوانید: پروژه خودکارسازی مدیریت اینستاگرام با API
نتیجهگیری
با استفاده از Instagram Graph API و چتبات هوشمند میتوان پاسخدهی خودکار به پیامهای دایرکت اینستاگرام را انجام داد.
مراحل کلیدی:
- فعالسازی API پیامهای دایرکت
- راهاندازی Webhook برای دریافت پیامها
- ارسال پاسخ خودکار با کدنویسی
- استفاده از هوش مصنوعی برای پاسخهای هوشمند
این روش میتواند پشتیبانی مشتریان را سریعتر، دقیقتر و حرفهایتر کند. اگر قصد بهبود تعاملات اینستاگرام و مدیریت دایرکتها بهصورت خودکار را دارید، این راهکار بسیار مؤثر خواهد بود.