چگونه با API دایرکت اینستاگرام پیام های گروهی ارسال کنیم؟
مقدمه
ارسال پیام های گروهی در دایرکت اینستاگرام یکی از راههای مؤثر برای تعامل با کاربران، مشتریان یا تیمهای کاری است. Instagram Graph API این امکان را به حسابهای بیزینسی و کریتور میدهد که پیام هایی را به صورت خودکار به گروههای دایرکت ارسال کنند. در این مقاله، یاد میگیریم که چگونه از Instagram Graph API برای ارسال پیام های گروهی در دایرکت اینستاگرام استفاده کنیم.
پیشنیازها
برای استفاده از دایرکت API اینستاگرام و ارسال پیام های گروهی، باید شرایط زیر را داشته باشید:
- یک حساب بیزینسی یا کریتور (حسابهای شخصی پشتیبانی نمیشوند).
- اتصال حساب اینستاگرام به یک صفحه فیسبوک.
- دریافت Access Token معتبر از Facebook Developer.
- مجوزهای
pages_messaging
وinstagram_manage_messages
.
دریافت لیست مکالمات گروهی
قبل از ارسال پیام گروهی، باید لیست مکالمات گروهی فعال را دریافت کنیم. برای این کار، از درخواست زیر استفاده میکنیم:
curl -X GET "https://graph.facebook.com/v18.0/me/conversations?platform=instagram&access_token=ACCESS_TOKEN"
پاسخ نمونه:
{
"data": [
{
"id": "t_1234567890",
"participants": [
{ "id": "17841400000000001", "username": "user1" },
{ "id": "17841400000000002", "username": "user2" }
]
}
]
}
توضیحات:
- مقدار
id
شناسه مکالمه گروهی است. - مقدار
participants
شامل اعضای گروه است.
ارسال پیام به یک گروه دایرکت
برای ارسال پیام متنی به یک گروه دایرکت، از شناسه مکالمه (t_1234567890
) استفاده میکنیم:
curl -X POST "https://graph.facebook.com/v18.0/t_1234567890/messages" \
-H "Content-Type: application/json" \
-d '{
"message": {"text": "سلام دوستان! 👋"},
"access_token":"ACCESS_TOKEN"
}'
پاسخ موفق:
{
"id": "m_9876543210"
}
توضیحات:
- مقدار
message
شامل متن پیام است. - مقدار
id
شناسه پیام ارسالشده را نشان میدهد.
ارسال پیام تصویری یا ویدیویی به گروه
برای ارسال یک تصویر یا ویدیو به یک مکالمه گروهی، باید ابتدا فایل را در فیسبوک آپلود کنیم و سپس در پیام استفاده کنیم.
۱. آپلود رسانه در فیسبوک
curl -X POST "https://graph.facebook.com/v18.0/me/media" \
-F "image_url=https://example.com/image.jpg" \
-F "published=false" \
-F "access_token=ACCESS_TOKEN"
پاسخ موفق:
{
"id": "1234567890123456"
}
مقدار id
شناسه تصویر آپلودشده است.
۲. ارسال تصویر در دایرکت گروهی
curl -X POST "https://graph.facebook.com/v18.0/t_1234567890/messages" \
-H "Content-Type: application/json" \
-d '{
"message": {
"attachment": {
"type": "image",
"payload": { "attachment_id": "1234567890123456" }
}
},
"access_token":"ACCESS_TOKEN"
}'
پاسخ موفق:
{
"id": "m_9876543210"
}
این درخواست، تصویر را در گروه ارسال میکند.
ارسال پیام گروهی به چندین کاربر (بدون گروه دایرکت)
اگر میخواهید پیام یکسانی را به چندین کاربر ارسال کنید، اما بدون گروه، باید پیام را جداگانه به هر کاربر ارسال کنید.
مثال پیادهسازی در Python
import requests
import json
ACCESS_TOKEN = "YOUR_ACCESS_TOKEN"
USER_IDS = ["17841400000000001", "17841400000000002"] # شناسه کاربران
def send_group_message(user_id, message_text):
url = f"https://graph.facebook.com/v18.0/{user_id}/messages"
headers = {"Content-Type": "application/json"}
data = {
"recipient": {"id": user_id},
"message": {"text": message_text},
"access_token": ACCESS_TOKEN
}
response = requests.post(url, headers=headers, data=json.dumps(data))
return response.json()
for user_id in USER_IDS:
result = send_group_message(user_id, "سلام! این پیام گروهی است.")
print(f"Sent to {user_id}: {result}")
این اسکریپت:
- پیام را به چندین کاربر ارسال میکند.
- پیامهای کاربران جداگانه ارسال میشود، نه در یک گروه دایرکت.
مزایای ارسال پیام گروهی با API
افزایش تعامل با مشتریان یا اعضای تیم.
خودکارسازی پیامهای تبلیغاتی یا پشتیبانی مشتریان.
ارسال رسانههای مختلف (متن، تصویر، ویدیو).
مدیریت بهتر مکالمات برای کسبوکارها.
محدودیتها و نکات مهم
- API اینستاگرام فقط برای حسابهای بیزینسی و کریتور فعال است.
- نمیتوان کاربران را بهصورت خودکار به یک گروه جدید اضافه کرد. فقط میتوان به گروههای موجود پیام ارسال کرد.
- ارسال پیام زیاد ممکن است باعث مسدود شدن حساب شود. بهتر است تعداد پیامهای ارسالی را محدود کنید.
- پیامهای تبلیغاتی بیش از حد ممکن است قوانین اینستاگرام را نقض کند.
همچنین بخوانید: راهکارهای مدیریت چند اکانت با API اینستاگرام
نتیجهگیری
با استفاده از Instagram Graph API میتوان پیام های گروهی را در دایرکت ارسال کرد. اگر گروه قبلاً ایجاد شده باشد، میتوان مستقیماً پیام ارسال کرد. اما اگر بخواهید یک پیام یکسان را به چندین کاربر ارسال کنید، باید پیامها را بهصورت جداگانه برای هر کاربر ارسال کنید.
سوالات متداول
آیا میتوان کاربران را از طریق API به یک گروه جدید اضافه کرد؟
خیر، اینستاگرام اجازه ایجاد گروه جدید یا اضافه کردن کاربران به گروه را از طریق API نمیدهد.
آیا میتوان پیام های گروهی را زمانبندی کرد؟
بله، با استفاده از اسکریپتهای Python و سرویسهایی مانند Cron Jobs میتوان پیامهای گروهی را در زمان مشخصی ارسال کرد.
آیا API اینستاگرام رایگان است؟
بله، اما نیاز به دریافت Access Token معتبر دارد.
آیا ارسال پیام زیاد باعث محدودیت میشود؟
بله، ارسال پیامهای زیاد در مدت کوتاه ممکن است باعث محدودیت حساب شود.