مهاجرت افزونه
در این داکیومنت تمام مراحل مورد نیاز برای مهاجرت:
- از user addon v1 به user addon v2
- از post addon v1 به post addon v2
- از user verification به user semantic
توجه داشته باشید که
API
های قدیمی در لحظه maintain میشوند ولی پیشنهاد میشود تا قبل از اعلامDEPRECATION
آن ها، مهاجرت را انجام دهید.
Post Addon V2
- در ابتدا
endpoint
را بهhttps://open-api.divar.ir/v2/open-platform/addons/post/{{token}}
تغییر دهید. - فیلد
widgets
در رکوئست قبلا به شکلwidgets:{"widget_list":[]}
بود که در حالت جدید به شکلwidgets:[]
درآمده است. پس محتویاتwidget_list
را درwidgets
قرار دهید و آن را لیست/آرایه بکنید. - خود ویجت های دیوار نیز تغییر کرده اند. در این ورژن این ویجت ها ساده تر و خواناتر شده اند. طبق این قسمت تک تک ویجت هارا تغییر دهید.
- فیلد
semantic
مانند قبل یکobject
است که value های استرینگی دارد منتهی فیلدsemantic_sensitives
به طور کامل حذف شده است، هر فیلدی که در اینجا تعیین نشده باشد رمز میشود. برای اضافه کردن فیلد با تیم دیواری مربوطه در ارتباط باشید. پسsensitive_semantics
را حذف کنید و طبق اینجا فیلد های مورد نظر خود را قرار دهید.
-POST https://open-api.divar.ir/v1/open-platform/add-ons/post/{{post_token}}
+POST https://open-api.divar.ir/v2/open-platform/addons/post/{{post_token}}
Content-Type: application/json
x-api-key: {{apikey}}
Authorization: Bearer {{access_token}}
{
- "widgets": {
+ "widgets": [
- "widget_list": [
{
- "widget_type": "TITLE_ROW",
- "data": {
+ "title_row": {
- "@type": "type.googleapis.com/widgets.TitleRowData",
"text": "این یک تایتل رو هست",
"has_divider": true
}
}
- ]
- }
+ ]
"semantic": {
- "year": "1398",
- "usage": "100000"
+ "payment_method": "SECURE",
+ "some-key": "some value to be hashed"
},
- "semantic_sensitives": [],
"notes": "any notes you want to get back on list api"
}
User Addon V2
- در ابتدا
endpoint
را بهhttps://open-api.divar.ir/v2/open-platform/addons/user/{{phone}}
تغییر دهید. - فیلد
widgets
در رکوئست قبلا به شکلwidgets:{"widget_list":[]}
بود که در حالت جدید به شکلwidgets:[]
درآمده است. پس محتویاتwidget_list
را درwidgets
قرار دهید و آن را لیست/آرایه بکنید. - خود ویجت های دیوار نیز تغییر کرده اند. در این ورژن این ویجت ها ساده تر و خواناتر شده اند. طبق این قسمت تک تک ویجت هارا تغییر دهید.
- فیلد
semantic
مانند قبل یکobject
است که value های استرینگی دارد منتهی فیلدsemantic_sensitives
به طور کامل حذف شده است، هر فیلدی که در اینجا تعیین نشده باشد رمز میشود. برای اضافه کردن فیلد با تیم دیواری مربوطه در ارتباط باشید. سپسsensitive_semantics
را حذف کنید و طبق اینجا فیلد های مورد نظر خود را قرار دهید. - فیلد های
phone, notes, management_permalink
را ازbody
نیز حذف کنید. - فیلد
verification_cost
را بهcost
تغییر نام دهید.
-POST https://open-api.divar.ir/v1/open-platform/addons/user/{{phone}}
+POST https://open-api.divar.ir/v2/open-platform/addons/user/{{phone}}
Authorization: Bearer {{access-token}}
x-api-key: {{api-key}}
{
- "widgets": {
+ "widgets": [
- "widget_list": [
{
- "widget_type": "SCORE_ROW",
- "data": {
+ "score_row": {
- "@type": "type.googleapis.com/widgets.ScoreRowData",
"title": "فنی",
"percentage_score": 80,
"score_color": "SUCCESS_PRIMARY",
"hasDivider": true,
- "icon": {
"icon_name": "HISTORY",
- "icon_color": "SUCCESS_PRIMARY"
- },
"action": {
- "type": "LOAD_WEB_VIEW_PAGE",
- "fallback_link": "https://google.com/",
- "payload": {
- "@type": "type.googleapis.com/widgets.LoadWebViewPagePayload",
- "url": "https://google.com/"
- }
+ "open_direct_link": "https://google.com"
}
}
}
- ]
- },
+ ],
- "notes": "test note",
- "phone": "09991234567",
"categories": [],
- "management_permalink": "https://same-domain.com/manage/id",
"ticket_uuid": "812d56e6-e44d-45e7-8932-f9acbd416999",
- "verification_cost": 124000,
+ "cost": 124000,
"semantic": {
- "national_id": "0023456789",
- "full_name": "علی علوی",
- "external_reference": "ref-id",
"identity_verification_result": "FACE_AND_ID_MATCHED"
},
- "semantic_sensitives": ["national_id"]
}
User Semantic
ساخت
- در ابتدا برای دریا فت اجازه USER_SEMANTIC_CREATE بر روی اپتان بر روی پنل کنار تیکت ثبت کنید.
- در ادامه
endpoint
را بهhttps://open-api.divar.ir/v1/open-platform/semantic/user/{{phone}}
تغییر دهید. - فیلد
semantic
مانند قبل یکobject
است که value های استرینگی دارد منتهی فیلدsemantic_sensitives
به طور کامل حذف شده است، هر فیلدی که در اینجا تعیین نشده باشد رمز میشود. برای اضافه کردن فیلد با تیم دیواری مربوطه در ارتباط باشید. سپسsensitive_semantics
را حذف کنید و طبق اینجا فیلد های مورد نظر خود را قرار دهید. - فیلد های
phone, notes
را از بادی ریکوئست حدف کنید.
-POST https://open-api.divar.ir/v1/open-platform/verifications/user/{{phone}}
+POST https://open-api.divar.ir/v1/open-platform/semantic/user/{{phone}}
Authorization: Bearer {{access-token}}
x-api-key: {{api-key}}
{
- "notes": "test note",
- "phone": "09120000000",
"semantic": {
"national-id": "12345678",
"identity_verification_result": "FACE_AND_ID_MATCHED"
},
- "semantic_sensitives": ["national-id"],
"ticket_uuid": "812d56e6-e44d-45e7-8932-f9acbd416999",
- "verification_cost": 12000
+ "cost": 12000
}
- با توجه به اینکه
national-id
فیلد از پیش تعیین شده نمیباشد، محتویات این فیلد به طور کامل رمز و چکیده شده و تیم های داخل دیوار چیزی از این فیلد متوجه نخواهند شد.- در صورتی که از سیستم قبلی، یعنی
user verification
به این سیستم مهاجرت میکنید و فیلد مورد نظرنان در فیلد های از پیش تعیین شده نیست با تیم مربوط در دیوار در ارتباط باشید. همچنین میتوانید با ثبت تیکت نیاز خود را بیان کنید.
حذف
- در ابتدا برای دریافت اجازه USER_SEMANTIC_DELETE بر روی اپتان بر روی پنل کنار تیکت ثبت کنید.
- در ادامه
endpoint
را بهhttps://open-api.divar.ir/v1/open-platform/semantic/user/{{phone}}
تغییر دهید.
-DELETE https://open-api.divar.ir/v1/open-platform/verifications/user/{{phone}}
+DELETE https://open-api.divar.ir/v1/open-platform/semantic/user/{{phone}}
x-api-key: {{api-key}}
New Widgets
در تمامی ویجت ها @type
و widget_type
را حذف کنید. نام فیلد data
را با نام ویجت جایگزین کنید. به طور مثال:
{
- "widget_type": "TITLE_ROW",
- "data": {
+ "title_row": {
- "@type": "type.googleapis.com/widgets.TitleRowData",
"text": "این یک تایتل رو هست",
"has_divider": true
}
}
حالا مراحل مهاجرت هرکدام از ویجت های قدیمی به جدید را بررسی میکنیم:
- ویحت TITLE_ROW
- فیلد های
@type
وwidget_type
را حذف کنید. - نام فیلد
data
را باtitle_row
جایگزین کنید.
- فیلد های
{
- "widget_type": "TITLE_ROW",
- "data": {
+ "title_row": {
- "@type": "type.googleapis.com/widgets.TitleRowData",
"text": "این یک تایتل رو هست",
"has_divider": true
}
}
- ویحت SUBTITLE_ROW
- فیلد های
@type
وwidget_type
را حذف کنید.
- فیلد های