نحوه فراخوانی

برای فراخوانی هریک از API ها نیاز به ارائه APIKEY به همراه درخواست می باشد.

برای ایجاد کلید در نرم افزار دیدار به بخش تنظیمات – اتصال به سرور های دیگر – اتصال به دیدار – ایجاد API جدید مراجعه کنید.

نمونه استفاده از APIKey :

app.didar.me/api/contact/save?apikey=714562s8a3tk9zm0jxzhn9b1yxils7eu

مقدار APIKey باید برای تمامی API ها به صورت QueryString و به شکل بالا ارسال گردد.

فرمت داده ها

داده های ورودی و خروجی همه API ها از جنس Json هستند. پاسخ درخواست معمولا به شکل زیر هستند.

}
{ … } : “Response”
{

مقدار درون Response بسته به نوع عملیات میتواند شامل یک یا چند شی باشد. همچنین برای درخواست های جستجو که فهرستی از محصولات با فیلتر خاص انتخاب میشوند دو فیلد دیگر در آن وجود خواهد داشت. TotalCount به عنوان کل تعداد رکوردهای موجود با توجه به فیلتر اعمال شده بدون paging. List شامل تعداد درخواست شده برای Paging فعلی.

برای نمونه :

تاریخ

فرمت تاریخ به صورت فرمت ISO javascript است. حداقل و حداکثر مقادیر قابل قبول نیز به شرح زیر میباشند.

"1930-01-01T00:00:00.000Z"
"9999-12-01T00:00:00.000Z"

جستجو

برای API های جستجو ساختار به شکل زیر است. مقادیر 0 و 30 ذکر شده برای From , Limit پیش فرض هستند و در صورت حذف این دو مورد از Json استفاده خواهند شد.

}
}:“Criteria”
شرایط مربوط به API مربوطه
,{
,From":0"
Limit":30"
{


در بخش Criteria اطلاعات جستجوی مورد نظر را وارد کنید. برای اطلاع یافتن از ساختار این اطلاعات به مستندات مربوط به هر API مراجعه کنید.

توجه کنید نیاز نیست تمام موارد در Criteria آورده شود. مواردی که آورده نشوند به معنی همه خواهند بود. مستنداتAPI ها حاوی اطلاعات لازم برای تغییر در مقادیر فیلترها هستند.

From مقدار شاخص شروع شمارش و بازگردانی اطلاعات (شروع از 0) و Limit تعداد رکوردهای بازگردانی شده را مشخص میکنند. این مقادیر برای Paging بکار میروند.

برای نمونه اگر 1200 رکورد بر اساس مقادیر فیلتر باید توسط جستجو برگردانده شود و میخواهیم از رکورد 301 تا 400 (100 مورد) را داشته باشیم به شکل زیر مقدار دهی میکنیم.

,From":300"
Limit":100"

در مستندات API های جستجو به موردی با عنوان CustomFields بر خواهید خورد. این قسمت برای تعریف مقادیر جستجو بر روی فیلد های اضافی است. شیوه کلی عملکرد آن در زیر آورده شده.

]:“CustomFields ”
----شرط}
, "##کد فیلد اضافی ##":"CustomFields"
---- زیر شرط]:"OR"
}
,"Type":"NotSet"
[]:"Value"
,{
به تعداد مورد نیاز زیر شرط اضافه کنید ----- …
[
,{
به تعداد مورد نیاز زیر شرط اضافه کنید ----- …

کدهای مجاز فیلد اضافی را میتوانید از API مربوطه دریافت کنید.

  • میتواند شامل هرتعداد شرط باشد و هر شرط میتواند شامل چند زیر شرط باشد.
  • روی شرط ها عمل «و» و روی زیر شرط ها عمل «یا» انجام میشود.
  • هر شرط برای فقط یک فیلد اضافی است و نمیتوان چند شرط برای یک فیلد اضافی تعریف کرد.
  • در صورت نیاز به ارائه چند شرط برای یک فیلد اضافی از زیر شرط استفاده کنید. این موارد در شی OR قرار میگیرند. هر زیر شرط نیز دارای دو بخش است. Type که نوع عملیات را مشخص میکند و Value که مقادیر مورد نظر را ارائه میکنند.

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

]:“OR ”
}
مقداری وارد شده باشد ,"Type":"Set"
نیاز به ارائه مقدار نیست []:"Value"
,{
}
مقداری وارد نشده باشد ,"Type":"NotSet"
نیاز به ارائه مقدار نیست []:"Value"
,{
}
دقیقا برابر مقدار ارائه شده باشد ,"Type":"EqualToAny"
[26]:"Value"
,{
}
برابر مقدار ارائه شده نباشد ,"Type":"NotEqualToAny"
["تهران"]:"Value"
,{
}
شامل متن وارد شده باشد ,"Type":"ContainsAnyString"
["تولید"]:"Value"
,{
}
شامل متن وارد شده نباشد ,"Type":"NotContainsAnyString"
["فروش"]:"Value"
,{
}
با متن ارائه شده شروع شود ,"Type":"StartWith"
["س"]:"Value"
,{
}
از مقدار وارد شده کوچکتر باشد,"Type":"LessThan"
[7]:"Value"
,{
}
از مقدار وارد شده بزرگتر باشد ,"Type":"GreaterThan"
[5]:"Value"
,{
}
بین دو مقدار ارائه شده باشد ,"Type":"Between"
[5,12]:"Value"
{
]

در مثال زیر برای دو فیلد اضافی شرط تعریف شده. عملکرد آن به شرح زیر است.

مواردی که فیلد اضافی اول آنها مقداری نداشته باشد یا مقدار آن برابر 12 باشد و فیلد اضافی دوم آنها با حرف س شروع شود.

دقت کنید ساختار دیتا حفظ شود. برای نمونه : CustomFields ، OR و Value همگی از جنس آرایه هستند.

]:“CustomFields ”
}
, "##کد فیلد اضافی اول ##":"CustomFieldId"
]:"OR"
}
,"Type":"NotSet"
[]:"Value"
,{
}
"Type":"EqualToAny"
[12]:"Value"
{
[
,{
}
, "##کد فیلد اضافی دوم ##":"CustomFieldId"
]:"OR"
}
,"Type":"StartWith"
["س"]:"Value"
{
[
{
[

ویرایش

برای ویرایش نیز فیلد مورد نظر را از مقادیر بازگشتی از مستندات متد جستجو انتخاب و مقدار مورد نظر خود را برای آن ارسال کنید.

برای نمونه میخواهیم مقدار نام ، نام خانوادگی و تلفن مخاطبی را ویرایش کنیم.

,"نام":"FirstName"
,"نام خانوادگی":"LasttName"
,"09120000000":"MobilePhone"

فیلداضافی

برای ویرایش فیلد های اضافی مقدار Fields را بروز رسانی میکنیم. به این شکل که کد فیلد مورد نظر را به همراه مقدار دلخواه ارسال میکنیم.

}:"Fields"
,"##فیلد اضافی##" : "مقدار"
...
{

برای مثال در زیر دو فیلد مختلف مقدار دهی شده اند. برای دریافت فهرست فیلد های اضافی به بخش مربوطه مراجعه کنید.

:"Fields"
}
,"Field_996_12_8":"Test"
"Field_996_12_9":"248"
{