Skip to navigation

خودکارسازی اینستاگرام

نسخه پیش‌انتشار v1، منتشرشده در ۲۰۲۶-۰۹-۱۴. این صفحه شکل API را تعهد می‌کند، نه تاریخ آن را. دقیقاً همین چیزی را که این‌جا مستند شده می‌سازیم. شکل API تا ۲۰۲۶-۱۰-۱۴ هنوز ممکن است تغییر کند؛ پس از آن، تغییرات از نسخه‌بندی و پایداری پیروی می‌کنند.

این بنر صفحه‌به‌صفحه و هم‌زمان با فعال‌شدن هر مسیر برداشته می‌شود. تا وقتی این‌جاست، بر اساس قرارداد پیاده‌سازی کنید و فرض کنید این مسیر هنوز قابل فراخوانی نیست.

قانون‌های خودکارسازی فقط برای اینستاگرام هستند. با آن‌ها مشتریان شما می‌توانند پاسخ‌ها را خودکار کنند، بدون اینکه برای شما یا ما درخواست پشتیبانی ثبت کنند. هر قانون به یک کانال اینستاگرام تعلق دارد و با یک دایرکت یا یک کامنت زیر پست یا ریلز فعال می‌شود.

قانون دایرکت

curl -X POST https://api-chat.parstechai.com/v1/robots/rbt_8fK2mQ/channels/chn_3pQ7xL/rules \
-H "Authorization: Bearer pk_live_xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "Price enquiry to catalogue",
"trigger": { "on": "dm", "keywords": ["price", "how much", "cost"], "match": "contains" },
"actions": [
{ "type": "text", "body": "Hello! Here is our catalogue." },
{ "type": "link", "url": "https://shop.example/catalogue", "label": "Catalogue" }
],
"is_active": true
}'
Response
{
"id": "rul_7nQ2xK",
"name": "Price enquiry to catalogue",
"trigger": { "on": "dm", "keywords": ["price", "how much", "cost"], "match": "contains" },
"actions": [
{ "type": "text", "body": "Hello! Here is our catalogue." },
{ "type": "link", "url": "https://shop.example/catalogue", "label": "Catalogue" }
],
"is_active": true,
"created_at": "2026-09-20T11:12:00Z"
}

کلیدواژه‌ها در هر زبانی که کانال پشتیبانی می‌کند تطبیق داده می‌شوند. آن‌ها را همان‌طور بنویسید که مخاطبان مشتری شما واقعاً تایپ می‌کنند.

فیلدمقادیر
trigger.ondm یا comment
trigger.matchcontains یا equal
actions[].typetext، image، link، delay

واژگان actions بسته است: text، image، link، delay. یک type ناشناخته خطای 422 برمی‌گرداند. یک آرایه باز، هر نوع اقدام آینده را برای هر کسی که آن را حدس زده بود به یک تغییر ناسازگار بی‌صدا تبدیل می‌کرد.

قانون کامنت سه کار انجام می‌دهد

{
"name": "Comment on launch post, public reply and DM",
"trigger": {
"on": "comment",
"keywords": ["available", "in stock"],
"match": "contains",
"media_id": "17895695668004550"
},
"reply_in_comment": { "body": "Yes, it is in stock. Details sent by DM." },
"then_send_dm": [
{ "type": "text", "body": "Hello! This product is available." },
{ "type": "link", "url": "https://shop.example/p/1042", "label": "Buy" }
],
"is_active": true
}
media_idقانون را به یک پست یا ریلز محدود می‌کند. اگر آن را حذف کنید، قانون روی همه پست‌ها اعمال می‌شود.
reply_in_commentیک پاسخ عمومی زیر کامنت می‌گذارد
then_send_dmپیگیری را به‌صورت خصوصی ادامه می‌دهد؛ همان چیزی که یک کامنت عمومی را به یک فروش خصوصی تبدیل می‌کند

مشتری شما پست را خودش انتخاب می‌کند، دقیقاً همان‌طور که کاربران خود ما این کار را می‌کنند؛ پس احتمالاً می‌خواهید فهرستی از پست‌ها برای انتخاب به او نشان دهید. اندپوینت رسانه برای همین است.

شرط فالو

یک قانون می‌تواند پاسخش را تا زمانی که کامنت‌گذار صفحه را فالو کند نگه دارد. این یکی از سازوکارهای اصلی رشد در اینستاگرام است.

{
"name": "Price enquiry, follow first",
"trigger": { "on": "comment", "keywords": ["price", "1"], "match": "contains" },
"reply_in_comment": { "body": "Your answer has been sent by DM." },
"then_send_dm": [
{ "type": "text", "body": "Hello, message us for more help." }
],
"require_follow": {
"enabled": true,
"prompt": "Follow the page first, then tap the button below.",
"button_text": "I followed",
"retry_prompt": "We checked, and the follow is not confirmed yet. Follow the page, then tap again."
},
"is_active": true
}

وقتی require_follow.enabled برابر true باشد و فرستنده صفحه را فالو نکرده باشد، قانون محتوای پاسخ را نگه می‌دارد. به‌جای آن prompt را همراه با یک دکمه می‌فرستد و پس از تأیید فالو، پاسخ اصلی را تحویل می‌دهد. retry_prompt برای کسی است که پیش از فالوکردن واقعی روی دکمه بزند.

این دکمه یک postback است، یعنی یک ضربه درون اینستاگرام و نه لینکی به بیرون. رفت‌وبرگشت تأیید را شما پیاده‌سازی نمی‌کنید؛ موتور قانون‌ها انجامش می‌دهد.

پاسخ نگه‌داشته‌شده پس از ۲۴ ساعت منقضی می‌شود

پس از آن، شخص باید دوباره قانون را فعال کند.

بررسی وضعیت فالو

curl "https://api-chat.parstechai.com/v1/robots/rbt_8fK2mQ/channels/chn_3pQ7xL/follow-status?user_id=iguser_88213" \
-H "Authorization: Bearer pk_live_xxxxxxxxxxxxxxxxxxxx"
Response
{ "user_id": "iguser_88213", "follows_business": true, "checked_at": "2026-09-20T11:30:00Z" }

follows_business سه مقدار دارد: true، false یا null. null یعنی Meta رابطه را تأیید نکرده است؛ معنایش «فالو نکرده» نیست.

null با false یکی نیست. ما در این حالت به نفع کاربر عمل می‌کنیم: با null، پاسخ فرستاده می‌شود. پاسخ نگه‌داشته‌شده برای یک دنبال‌کننده واقعی، از نگاه کاربر نهایی یعنی خودکارسازی خراب است؛ و این بدتر از پاسخ‌دادن به کسی است که فالو نکرده. شما هم با null همین‌طور رفتار کنید.

مدیریت قانون‌ها

متدمسیر
GET/v1/robots/{robot_id}/channels/{channel_id}/rules
GET/v1/robots/{robot_id}/channels/{channel_id}/rules/{id}
PATCH/v1/robots/{robot_id}/channels/{channel_id}/rules/{id}
DELETE/v1/robots/{robot_id}/channels/{channel_id}/rules/{id}

فهرست صفحه‌بندی‌شده است و بر اساس is_active و on قابل فیلتر است. برای متوقف‌کردن یک قانون بدون ازدست‌دادن آن، is_active را با PATCH به false تغییر دهید.

پارامترهای کامل و محیط آزمایش زنده: مرجع خودکارسازی.

خطاها

وضعیتمعنی
403بسته شامل خودکارسازی نیست، یا نقش لازم وجود ندارد
404چنین قانونی وجود ندارد، یا متعلق به شما نیست
422قانون کامنتی که نه reply_in_comment دارد و نه then_send_dm، یک type ناشناخته برای اقدام، یا keywords خالی