مهاجرت ارسال پیام و رویدادها
لیست تغییرات
- تغییر ساختار اکشنها: با جایگزین شدن اکشنهای قدیمی توسط اکشنهای جدید،امکان دریافت اطلاعات بیشتر و متنوع تری را دارید. علاوه بر این، اکشنهای افزونهها و چت یکپارچه شدند.
- اضافه شدن API جدید ارسال پیام در چت: از این به بعد تنها با استفاده از پارامتر conversation_id به هر مکالمهای پیام بفرستید. با استفاده از این API میتوانید اولین پیام را در مکالمهها بفرستید.
- امکان اضافه کردن چندین دکمه با اکشنهای مختلف: شما میتوانید برای تعامل با کاربران در چت بعد از هر پیام تان تا ۹ دکمه قرار دهید.
- ساختار جدید هدایت کاربران به سمت برنامهی شما: با استفاده از این ساختار میتوانید علاوه بر دادههایی که خودتان تعریف میکنید، اطلاعات اضافهتری از کاربر بسته به مکانی که کاربر از آن به سمت برنامهی شما هدایت میشود دریافت کنید.
- ساختار جدید گوش دادن به رویدادهای دیوار: با استفاده از ساختار یکپارچه رویدادها میتوانید از اتفاقاتی که در دیوار رخ میدهد، در لحظه با خبر شوید.
مهاجرت
مهم ترین موردی که برای مهاجرت به این ورژن باید به آن توجه کنید، اسکوپ جدید برای ارسال پیام در چت هست. شما با داشتن اسکوپ CONVERSATION_SEND_MESSAGE
میتوانید از API جدید استفاده کنید. ابتدا مطمئن شوید که اپ شما به این اسکوپ دسترسی دارد و سپس با درخواست این دسترسی از کاربرانتان، این اجازه را دریافت کن ید. سپس با فراخوانی API ارسال پیام در چت پیام مورد نظر خود را در چت ارسال کنید.
همچنین برای هدایت کاربر به سمت برنامهی شما، در ساختار جدید ابتدا درخواستی به آدرس شروع برنامهی شما (تعریف شده در پنل کنار دیوار) ارسال میشود که حاوی اطلاعات مربوط به کاربر است و انتظار میرود که در پاسخ به این درخواست، آدرسی که کاربر باید به آن هدایت شود را برگردانید. تفاوت این نسخه با حالت قبلی، ساختار درخواستی است که برای شما ارسال میشود. در صورتی که از هر دو روش برای هدایت کاربر استفاده میکنید باید با استفاده از HTTP Header API_VERSION
تشخیص دهید که این درخواست مربوط به کدام نسخه هست و سپس اطلاعات مورد نظر را بررسی کنید و آدرس بازگشت کاربر را به عنوان پاسخ برگردانید. اطلاعات بیشتر در مورد این درخواست را میتوانید اینجا ببینید.
ارسال پیام در چت
- POST https://open-api.divar.ir/v2/open-platform/chat/conversation
+ POST https://open-api.divar.ir/v2/open-platform/conversations/{{conversation_id}}/messages
Content-Type: application/json
x-api-key: {{apikey}}
Authorization: Bearer {{access_token}}
{
- "user_id": "شناسهٔ کاربر فرستنده که می خواهیم پیامی از سمت او وارد چت کنیم",
- "post_token": "توکن آگهی مورد چت",
- "peer_id": "شناسهٔ کاربر گیرنده در چت",
"type": "TEXT",
"message": "متن پیام",
- "sender_btn": {
- "action": "LINK",
- "data": {
- "icon_name": "نام آیکون مورد نظر برای این دکمه",
- "extra_data": {
- "your_custom_key":"اطلاعاتی که در ادامه هنگام کلیک روی دکمه نیاز داریم"
- },
- "caption": "متن دکمهٔ زیر پیام برای طرف فرستنده"
- }
- },
- "receiver_btn": {
- "action": "LINK",
- "data": {
- "icon_name": "نام آیکون مورد نظر برای این دکمه",
- "extra_data": {
- "your_custom_key":"اطلاعاتی که در ادامه هنگام کلیک روی دکمه نیاز داریم"
- },
- "caption": "متن دکمهٔ زیر پیام برای طرف گیرنده"
- }
- }
+ "sender_buttons": {
+ "rows": [
+ {
+ "buttons": [
+ {
+ "action": {
+ "open_direct_link": "آدرس مورد نظر برای باز شدن بعد از کلیک"
+ },
+ "icon_name": "نام آیکون",
+ "caption": "متن دکمه"
+ },
+ {
+ "action": {
+ "open_server_link": {
+ "data": {
+ "my_key_1": "value",
+ "my_key_2": "value2"
+ }
+ }
+ },
+ "icon_name": "نام آیکون",
+ "caption": "متن دکمه"
+ }
+ ]
+ }
+ ]
+ },
+ "receiver_buttons": {
+ "rows": [
+ {
+ "buttons": [
+ {
+ "action": {
+ "open_direct_link": "آدرس مورد نظر برای باز شدن بعد از کلیک"
+ },
+ "icon_name": "نام آیکون",
+ "caption": "متن دکمه"
+ },
+ {
+ "action": {
+ "open_server_link": {
+ "data": {
+ "my_key_1": "value",
+ "my_key_2": "value2"
+ }
+ }
+ },
+ "icon_name": "نام آیکون",
+ "caption": "متن دکمه"
+ }
+ ]
+ }
+ ]
+ }
}