diff --git a/chat/chatbot_conversations.md b/chat/chatbot_conversations.md index 906b391..bddc543 100644 --- a/chat/chatbot_conversations.md +++ b/chat/chatbot_conversations.md @@ -20,6 +20,7 @@ Content-Type: application/json { "type": "NEW_CHATBOT_MESSAGE", "new_chatbot_message": { + "message_text": "hello world", "id": {{message_id}}, "conversation": { "id": {{conversation_id}}, @@ -54,7 +55,7 @@ X-Api-Key: {your-api-key} "action": { "open_direct_link": "آدرس مورد نظر برای باز شدن بعد از کلیک" }, - "icon_name": "نام آیکون", + "icon_name": "REAL_STATE", "caption": "متن دکمه" }, { @@ -66,7 +67,7 @@ X-Api-Key: {your-api-key} } } }, - "icon_name": "نام آیکون", + "icon": "HOME", "caption": "متن دکمه" } ] @@ -76,6 +77,10 @@ X-Api-Key: {your-api-key} } ``` +### Icons +[آیکون‌ها][آیکون‌ها] موجود برای دکمه‌ها + + #### مثال در اینجا یک مثال از ارسال پیام با استفاده از `curl` آمده است: @@ -95,7 +100,7 @@ curl --location 'https://api.divar.ir/experimental/open-platform/chatbot-convers "action": { "open_direct_link": "آدرس مورد نظر برای باز شدن بعد از کلیک" }, - "icon_name": "نام آیکون", + "icon": "REAL_STATE", "caption": "متن دکمه" }, { @@ -107,7 +112,7 @@ curl --location 'https://api.divar.ir/experimental/open-platform/chatbot-convers } } }, - "icon_name": "نام آیکون", + "icon": "HOME", "caption": "متن دکمه" } ] @@ -116,3 +121,6 @@ curl --location 'https://api.divar.ir/experimental/open-platform/chatbot-convers } }' ``` + +[آیکون‌ها]: https://www.figma.com/design/ZhhSihwKTjiER1VUDX4ovh/%F0%9F%93%92-Kenar-Docs-(WIP)?node-id=1501-2225&p=f + diff --git a/chat/users_conversations.md b/chat/users_conversations.md index 37d8974..f1100d9 100644 --- a/chat/users_conversations.md +++ b/chat/users_conversations.md @@ -1,14 +1,16 @@ # ارسال پیام در چت برنامه‌‌های کنار دیوار می‌توانند پس از [کسب اجازه از کاربر][احراز باز]، در یک چت یا چت‌های یک آگهی پیام ارسال کنند. -پیام‌های ارسالی از طرف کاربری که دسترسی به برنامه را داده و درخواست از سمتش بوده در چت ارسال می‌شود و هر دو طرف چت یک متن پیام می‌بینند، اما امکان درج دکمهٔ متفاوت برای طرفین چت وجود دارد.\ +پیام‌های ارسالی از طرف کاربری که دسترسی به برنامه را داده و درخواست از سمتش بوده در چت ارسال می‌شود و هر دو طرف چت یک +متن پیام می‌بینند، اما امکان درج دکمهٔ متفاوت برای طرفین چت وجود دارد.\ به علاوه در قسمت بالای پیام، عنوان برنامهٔ مورد نظر نشان داده می‌شود. | ![نمایی از یک پیام ارسال شده توسط بات](/img/bot-message.png) | |:------------------------------------------------------------:| | نمایی از یک پیام ارسال شده توسط بات | -> ⭐️ بهتر است پیامی که در چت ارسال می‌کنید برای هر دو طرف معنادار باشد و اطلاعات مفید در راستای خدمت دریافت شده ارائه دهد. +> ⭐️ بهتر است پیامی که در چت ارسال می‌کنید برای هر دو طرف معنادار باشد و اطلاعات مفید در راستای خدمت دریافت شده ارائه +> دهد. > 🛑 برای مقاصد تبلیغاتی یا معرفی امکانات و خدماتتان پیام ارسال نکنید. @@ -17,15 +19,18 @@ برای اینکه بتوانید در یک چت پیامی ارسال کنید، نیاز است تا اجازهٔ دسترسی در دو نقطه فراهم شده‌باشد:\ ۱. برنامهٔ شما به صورت کلی دسترسی لازم را در [پنل کنار دیوار][پنل کنار] گرفته‌باشد.\ ۲. [از کاربر اجازه گرفته‌باشید][احراز باز] و `access_token` ارسالی در درخواستتان این اجازه را داشته‌باشد: + - SCOPE: CONVERSATION_SEND_MESSAGE - IDENTIFIER: CONVERSATION_ID -دو نوع دسترسی برای ارسال پیام در چت وجود دارد که برای هر کدام می‌توان جداگانه از کاربر اجازه گرفت. ارسال پیام در **یک چت** و ارسال پیام در **چت‌های یک آگهی** +دو نوع دسترسی برای ارسال پیام در چت وجود دارد که برای هر کدام می‌توان جداگانه از کاربر اجازه گرفت. ارسال پیام در **یک چت +** و ارسال پیام در **چت‌های یک آگهی** جزییات و پارامترهای لازم برای درخواست دسترسی و ایجاد `access_token` را در [صفحهٔ احراز باز][احراز باز] ببینید. ## درخواست ارسال پیام در چت -در صورتی که اجازهٔ این درخواست رو طبق توضیحات بالا و [صفحهٔ احراز باز][احراز باز] داشته‌باشید، با ارسال درخواستی مشابه نمونهٔ زیر می‌توانید در چت مورد نظرتان پیام وارد کنید. +در صورتی که اجازهٔ این درخواست رو طبق توضیحات بالا و [صفحهٔ احراز باز][احراز باز] داشته‌باشید، با ارسال درخواستی مشابه +نمونهٔ زیر می‌توانید در چت مورد نظرتان پیام وارد کنید. می‌توانید قسمت‌های فارسی را با مقادیر خودتان جایگزین کنید: @@ -46,7 +51,7 @@ x-access-token: {{access_token}} "action": { "open_direct_link": "آدرس مورد نظر برای باز شدن بعد از کلیک" }, - "icon_name": "نام آیکون", + "icon": "نام آیکون", "caption": "متن دکمه" }, { @@ -58,7 +63,7 @@ x-access-token: {{access_token}} } } }, - "icon_name": "نام آیکون", + "icon": "نام آیکون", "caption": "متن دکمه" } ] @@ -73,7 +78,7 @@ x-access-token: {{access_token}} "action": { "open_direct_link": "آدرس مورد نظر برای باز شدن بعد از کلیک" }, - "icon_name": "نام آیکون", + "icon": "CAR_INSPECTED", "caption": "متن دکمه" }, { @@ -85,7 +90,7 @@ x-access-token: {{access_token}} } } }, - "icon_name": "نام آیکون", + "icon": "REAL_STATE", "caption": "متن دکمه" } ] @@ -110,26 +115,24 @@ x-access-token: {{access_token}} |------------|--------------------------------|-----------------------------------------| | rows | Array[[ButtonRow](#ButtonRow)] | آرایه‌ای از ردیف دکمه‌ها. حداکثر ۳ ردیف | - ### ButtonRow | Field Name | Field Type | Description | |------------|--------------------------|-----------------------------------------------| | buttons | Array[[Button](#Button)] | آرایه‌ای از دکمه‌ها. حداکثر ۳ دکمه در هر ردیف | - ### Button -| Field Name | Field Type | Description | -|------------|------------------|-------------------------------------------------| -| action | [Action][Action] | اکشنی که پس از کلیک کاربر بر روی دکمه رخ می‌دهد | -| icon_name | String | نام آیکون نمایش داده‌شده بر روی دکمه | -| caption | String | متنی که بر روی دکمه نمایش داده می‌شود | - +| Field Name | Field Type | Description | +|------------|-----------------------------------------------------------------------------------------------------------------|-------------------------------------------------| +| action | [Action][Action] | اکشنی که پس از کلیک کاربر بر روی دکمه رخ می‌دهد | +| icon | [Icon](https://www.figma.com/design/ZhhSihwKTjiER1VUDX4ovh/%F0%9F%93%92-Kenar-Docs-(WIP)?node-id=1501-2225&p=f) | نام آیکون نمایش داده‌شده بر روی دکمه | +| caption | String | متنی که بر روی دکمه نمایش داده می‌شود | ### خطاها ممکن است در پاسخ این درخواست خطا به صورت زیر دریافت شود: + ```HTTP HTTP/1.1 412 { @@ -137,35 +140,47 @@ HTTP/1.1 412 "message": "message delivery failed due to recipient's restriction" } ``` + این خطا به چند دلیل می ‌تواند دریافت شود: + - کاربر توسط کاربر مقابل در چت مسدود شده باشد - کاربر یا کاربر مقابل در بلک لیست باشند. - ... + ## دسترسی ارسال پیام در تمام مکالمات یک آگهی -دسترسی قبلی تنها مربوط به یک مکالمه می‌باشد، اما با داشتن این دسترسی می‌توانید در تمام مکالمات مربوط به یک آگهی از طرف آگهی گذار پیام بفرستید: +دسترسی قبلی تنها مربوط به یک مکالمه می‌باشد، اما با داشتن این دسترسی می‌توانید در تمام مکالمات مربوط به یک آگهی از طرف +آگهی گذار پیام بفرستید: + - SCOPE: CHAT_POST_CONVERSATIONS_MESSAGE_SEND - IDENTIFIER: POST_TOKEN ## دسترسی ارسال پیام در تمام مکالمات تمام آگهی‌های آگهی گذار -در صورتی که نیاز دارید در تمام چت‌هایی که کاربر سمت آگهی گذار می‌باشد، پیام ارسال کنید می‌توانید از اسکوپ زیر استفاده که `RESOURCE_ID` یا `IDENTIFIER` ندارد: -- SCOPE: CHAT_SUPPLIER_ALL_CONVERSATIONS_MESSAGE_SEND +در صورتی که نیاز دارید در تمام چت‌هایی که کاربر سمت آگهی گذار می‌باشد، پیام ارسال کنید می‌توانید از اسکوپ زیر استفاده که +`RESOURCE_ID` یا `IDENTIFIER` ندارد: +- SCOPE: CHAT_SUPPLIER_ALL_CONVERSATIONS_MESSAGE_SEND ## کلیک کاربر روی دکمهٔ درج شده زیر پیام -پس از کلیک کاربر بر روی دکمه‌های پیام، با توجه به [اکشنی][Action] که بر روی دکمه تعریف شده است، +پس از کلیک کاربر بر روی دکمه‌های پیام، با توجه به [اکشنی][Action] که بر روی دکمه تعریف شده است، کاربر به سمت برنامه‌ی شما هدایت می‌شود.
[احراز باز]: /oauth + [API key]: /management/api-keys.md + [Action]: /widgets/actions + [پنل کنار]: /management + [ارسال پیام در یک چت]: #ارسال-پیام-در-یک-چت + [ارسال پیام در چت‌های آگهی]: #ارسال-پیام-در-چتهای-یک-آگهی + [بازشدن برنامه]: #کلیک-کاربر-روی-دکمهٔ-درج-شده-زیر-پیام diff --git a/migrations/001_user_addon_v2+addon_v2+user_semantic.md b/migrations/001_user_addon_v2+addon_v2+user_semantic.md index 64dd76f..b5ac299 100644 --- a/migrations/001_user_addon_v2+addon_v2+user_semantic.md +++ b/migrations/001_user_addon_v2+addon_v2+user_semantic.md @@ -53,7 +53,7 @@ x-access-token: {{access_token}} - خود ویجت های دیوار نیز تغییر کرده اند. در این ورژن این ویجت ها ساده تر و خواناتر شده اند. طبق [این قسمت](#new-widgets) تک تک ویجت هارا تغییر دهید. - فیلد `semantic` مانند قبل یک `object` است که value های استرینگی دارد منتهی فیلد `semantic_sensitives` به طور کامل حذف شده است، هر فیلدی که در [اینجا](/semantic/semantic_data.md#فیلد-های-تعیین-شده) تعیین نشده باشد رمز می‌شود. برای اضافه کردن فیلد با تیم دیواری مربوطه در ارتباط باشید. سپس `sensitive_semantics` را حذف کنید و طبق [اینجا](/semantic/semantic_data.md#فیلد-های-تعیین-شده) فیلد های مورد نظر خود را قرار دهید. - فیلد های `phone, notes, management_permalink` را از `body` نیز حذف کنید. -- فیلد `verifcation_cost` را به `cost` تغییر نام دهید. +- فیلد `verification_cost` را به `cost` تغییر نام دهید. ```diff -POST https://api.divar.ir/v1/open-platform/addons/user/{{phone}} diff --git a/semantic/semantic_data.md b/semantic/semantic_data.md index fe21b77..9f76d6c 100644 --- a/semantic/semantic_data.md +++ b/semantic/semantic_data.md @@ -15,7 +15,7 @@ فیلد های زیر توسط تیم سرچ دیوار تعیین شده‌اند و با توجه به اپ شما **ممکن** است منجر به بدج شوند: - فیلد`payment_method` برای توصیف نحوه پرداخت کاربر مقادیر مجاز: ‍ ‍‍‍‍ `SECURE` - فیلد `identity_verification_result` برای توصیف نتیحه احراز کاربر مقادیر مجاز: `FACE_AND_ID_MATCHED` -- فیلد `post_verifcation_result` برای توصیف نتیجه احراز آگهی مقادیر مجاز : `POST_INFORMATION_MATCHED` +- فیلد `post_verification_result` برای توصیف نتیجه احراز آگهی مقادیر مجاز : `POST_INFORMATION_MATCHED` - فیلد `status` برای توصیف وضعیت احراز مقادیر مجاز : `SUCCEEDED`, `FAILED` ,`EXPIRED` - فیلد `identity_verification_last_successful_stage` برای مشخص کردن آخرین مرحله موفق احراز هویت مقادیر مجاز : `IDENTITYVERIFICATIONSTAGE_NOT_STARTED`, `NATIONAL_INFO_VERIFICATION`, `IMAGE_VERIFICATION` ,`VIDEO_VERIFICATION` - فیلد `identity_verification_failure_reason` برای مشخص کردن دلیل ناموفق بودن احراز هویت مقادیر مجاز : `IDENTITYVERIFICATIONSTAGE_NOT_STARTED`, `NATIONAL_INFO_VERIFICATION`, `IMAGE_VERIFICATION` ,`VIDEO_VERIFICATION` diff --git a/semantic/user_semantic_create.md b/semantic/user_semantic_create.md index 985bb6c..7d77485 100644 --- a/semantic/user_semantic_create.md +++ b/semantic/user_semantic_create.md @@ -17,7 +17,7 @@ x-api-key: {{api-key}} { "semantic": { - "identity_verifcation_result": "FACE_AND_ID_MATCHED", + "identity_verification_result": "FACE_AND_ID_MATCHED", "some-key": "some value to be hashed" }, "ticket_uuid": "812d56e6-e44d-45e7-8932-f9acbd416999",