پرش به مطلب اصلی

Dynamic Action

این اکشن به شما امکان انتخاب اکشن دلخواه در لحظه‌ی تعامل کاربر را می‌دهد. با استفاده از این اکشن می‌توانید در لحظه‌ی کلیک کاربر اکشن دلخواه با توجه به شرایط انتخاب کنید یا این که پیامی را به کاربر نمایش دهید و یا از تعامل کاربر مطلع شوید. برای مثال می‌توانید در چت، از انتخاب دکمه‌های بله و خیر توسط کاربر مطلع شود و تصمیم بگیرید کاربر را به برنامه‌ی خود هدایت کنید یا پیام مناسبی به کاربر نمایش دهید.

این اکشن به صورت یک فیلد در کنار دیتای ویجت قرار می‌گیرد:

{
"action": {
"get_dynamic_action": {
"data": {
"your_key_1": "your value",
"your_key_2": "your value"
}
}
}
}

پس از کلیک کاربر بر روی ویجتی که این اکشن را داشته باشد، ابتدا یک درخواست از سمت دیوار به برنامه‌ی شما برای دریافت اکشن مناسب ارسال می‌شود. شما در جواب این درخواست باید اکشنی که می‌خواهید به کاربر نمایش داده شود را برگردانید.

درخواست دریافت اکشن از سمت سرور به صورت زیر است:

POST {{YOUR_DYNAMIC_ACTION_URL}}
Content-Type: application/json
Authorization: {{YOUR_DIVAR_AUTH_HEADER}}

{
"touchpoint": "CHAT",
"post_token": "wZC44q5D",
"conversation_id": "6b3d5cf7-9291-4fa9-892a-9d07e300daea",
"user_side": "SUPPLY",
"extra_data": {
"your_key_1": "your value",
"your_key_2": "your value"
},
user_id: "6GqmD76dle5NpJySqnBX8seTpt6uVtzqaNTNJU1ettI="
}

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

نام فیلدنوعتوضیحات
touchpointEnum[TouchPoint]محل نمایش اکشن به کاربر
post_tokenString (Nullable)توکن پست (در صورت وجود)
conversation_idString (Nullable)شناسه مرتبط با چت (در صورت وجود)
user_sideString (Nullable)نوع کاربر (خریدار یا فروشنده)
extra_dataObjectداده‌های اضافی که از سمت برنامه‌ی شما در کلید data قرار داده شده
user_idString (Nullable)شناسه‌ی کاربر که به بر روی دکمه کلیک کرده است (در صورت لاگین بودن در دیوار)

انتظار می‌رود که در پاسخ به این درخواست، پاسخ موفق با کد وضعیت ۲۰۰ برگردانده شود و بدنه‌ی پاسخ به صورت زیر باشد:

{
"action": {
"open_direct_link": "https://your-domain.com/direct-link"
},
"text_message": "پیام متنی اختیاری برای نمایش به کاربر"
}

یا در صورتی که اکشن از نوع open_server_link باشد:

{
"action": {
"open_server_link": {
"data": {
"your_key_1": "your value",
"your_key_2": "your value"
}
}
},
"text_message": "پیام متنی اختیاری برای نمایش به کاربر"
}

در صورتی که می‌خواهید تنها به کاربر پیام دهید، می‌توانید مانند مثال زیر عمل کنید:

{
"text_message": "اطلاعات با موفقیت ثبت شد"
}