مستندات رایچت برای توسعه دهندگان
با استفاده از APIهای رایچت میتوانید سیستم یا وبسایت خود را بیشتر با رایچت هماهنگ کنید. مثلا میتوانید اطلاعات کاربران وب سایت خود را در پنل گفتگوی رایچت نمایش دهید. در ادامه Apiهایی که تا اکنون منتشر شدهاند را مشاهده میکنید. رایچت همیشه در حال بهروزرسانی هست پس منتظر API های جدید باشید :).
ایجاد وب سایت
با استفاده از این API میتوانید در رایچت ثبت نام کنید. این قسمت بیشتر برای سیستم های سایت ساز و فروشگاه ساز که قصد دارند به صورت اتوماتیک برای هر کاربری که در سیستمشون ثبت نام میکنه یک اکانت رایچت ایجاد کنند و کد را نیز در سایت قرار دهند کاربرد دارد.
* برای استفاده از این قسمت ابتدا یک اپ از طریق این لینک ایجاد کنید و کلید API خود را دریافت کنید.
ROUTE | METHOD |
---|---|
https://api.raychat.io/v1/api/site | POST |
مقادیر ارسالی
FIELD | TYPE | DESCRIPTION |
---|---|---|
apiKey | string | کلیدی که هنگام ایجاد اپلیکیشن در پنل دریافت کردید |
site | string | آدرس سایتی که میخواهید در رایچت ثبت کنید |
siteTitle | string | عنوان سایتی که میخواهید در رایچت ثبت کنید |
string | ایمیل مدیر وب سایت | |
password | string | رمز عبور |
name | string | نام مدیر وب سایت |
phone | string | تلفن مدیر وب سایت |
مقادیر برگشتی
FIELD | TYPE | DESCRIPTION |
---|---|---|
message | string | پیام برگشتی از سرور |
status | int | وضعیت |
code | string | کد رایچت برای قرار دادن در وب سایت |
user | object | اطلاعات کاربر ایجاد شده |
token | string | توکن وبسایت |
url | string | آدرس پنل مدیریت رایچت |
webAppUrl | string | آدرس اپلیکیشن تحت وب رایچت |
* پاسخ بصورت JSON برگشت داده میشود.
* در صورت بروز خطا، علت در پاسخ توضیح داده خواهد شد.
* وضعیت برابر 1 به معنی موفقیت آمیز بودن ثبت نام است.
کُپی کردن!
// NodeJs Example
1 request.post({
2 url:'https://webapp.raychat.io/api/site',
3 form: {
4 apiKey:'Your Api Key',
5 site:'https://example.com',
6 siteTitle:' Example Title',
7 email:'tech@raychat.io',
8 password: 'Password',
9 name:'Ehsan Younesi',
10 phone:'09000000000'
11 }
12 }, function(err,httpResponse,body){
13 /* ... */
14 });
مستندات رایچت برای توسعه دهندگان سمت کاربر
API سمت کاربر این امکان را به شما میدهد تا ابزارکی که برای کاربر نمایش داده میشود را مدیریت کنید. از آن میتوانید برای مدیریت صفحه چت و همچنین ارسال اطلاعات کاربر به اپلیکیشن رایچت استفاده کنید. (برای مثال میتوانید اطلاعات کاربری که به سایت شما لاگین کرده را به رایچت بفرستید تا در اپلیکیشن نمایش داده بشه و بعداً در آرشیو بهش دسترسی داشته باشید).
نکته: تمامی توابع و رویدادهایی که در ادامه توضیح داده خواهند شد باید طبق دستورالعمل سمت راست (داخل رویداد raychat_ready) نوشته شوند.
کُپی کردن!
1 window.addEventListener('raychat_ready', function (ets) {
2 // function or event
3 });
Raychat.setStyle()
با استفاده ازاین تابع میتوانید تغییراتی بر روی ظاهر آیکون ابزارک چت رایچت ایجاد کنید.
FIELD | TYPE | DESCRIPTION |
---|---|---|
backgroundColor | string | رنگ پس زمینه آیکون ابزارک |
borderRadius | string | حالت لبهی آیکون ابزارک |
width | string | عرض آیکون ابزارک |
height | string | ارتفاع آیکون ابزارک |
کُپی کردن!
1 window.Raychat.setStyle({
2 backgroundColor : '#000',
3 borderRadius : '50%',
4 width : '70px',
5 height : '70px'
6 });
Raychat.setPosition()
با استفاده ازاین تابع میتوانید موقعیت آیکون ابزارک چت را تغییر دهید. توجه داشته باشید که برای این که تغییر موقعیت ابزارک به درستی انجام شود حتما 4 موقعیت ذکر شده را ارسال کنید، به صورتی که حداکثر دو موقعیت مقدار داشته باشد و باقی فیلد ها مقدار "auto" داشته باشند.
FIELD | TYPE | DESCRIPTION |
---|---|---|
top | string | فاصله از بالا |
right | string | فاصله از راست |
bottom | string | فاصله از پایین |
left | string | فاصله از چپ |
کُپی کردن!
1 window.Raychat.setPosition({
2 top: 'auto',
3 right : 'auto',
4 bottom : '15px',
5 left : '15px'
6 });
Raychat.setUser()
با استفاده از این تابع می توانید اطلاعات کاربری که به وب سایت شما لاگین کرده را به رایچت ارسال کنید.
FIELD | TYPE | DESCRIPTION |
---|---|---|
string | ایمیل کاربر لاگین شده | |
name | string | نام کاربر لاگین شده |
about | string | درباره ی کاربر لاگین شده |
phone | string | تلفن کاربر لاگین شده |
avatar | string | عکس کاربر لاگین شده |
updateOnce | boolean | در هر بار فراخوانی این تابع اطلاعات کاربر به روز شود یا خیر |
کُپی کردن!
1 window.Raychat.setUser({
2 email: 'tech@raychat.io',
3 name: 'Ehsan Younesi',
4 about: 'about me :)',
5 phone: '09123456789',
6 avatar: 'https://webapp.raychat.io/ehsan.png',
7 updateOnce: true
8 });
Raychat.getUser()
با استفاده از این تابع می توانید اطلاعات بازدیدکننده ای که در حال حاضر در وب سایت هست را دریافت کنید.
مقادیر برگشتی
KEY | VALUE TYPE | DESCRIPTION |
---|---|---|
id | string | آیدی کاربر |
name | string | نام کاربر |
string | ایمیل | |
avatar | string | عکس کاربر |
online | string | وضعیت کاربر |
createdAt | date | تاریخ ایجاد کاربر |
metadata | object | دادههای بیشتر |
browser | object | اطلاعات مرورگر کاربر |
phone | string | شماره تلفن کاربر |
about | string | اطلاعات کاربر |
کُپی کردن!
1 var user = window.Raychat.getUser();
2 //example user object
3 { id: '5992bc6d9e737c900e3058d3',
4 name: 'Ehsan Younesi',
5 email: 'tech@raychat.io',
6 avatar: 'https://webapp.raychat.io/ehsan.png',
7 online: true,
8 createdAt: 2017-08-15T09:18:37.904Z,
9 metadata: {
10 userId: "2", // String
11 createdAt: "2018-09-29", // Date
12 totalPaid: 200000, // Number
13 isActive: true // Boolean
14 },
15 browser : {
16 "name" : "Chrome",
17 "ver" : "60.0.3112.90",
18 "os" : "Windows",
19 "mobile" : false
20 },
21 phone: '0912345678',
22 about: 'hello :)'
23 }
Raychat.loadUser()
با این تابع میتوانید کاربرانی که در سیستم شما وارد پنل کاربری میشوند را بارگزاری کنید و مکالمات آنان را به صورت دائمی و پایدار نگه داری کنید; زمانی که کاربر با موفقیت بارگزاری شد رویداد raychat_new_user_loaded اجرا میشود.
نکته: برای به دست آوردن ای دی کاربر میتوانید از تابع getUser استفاده کنید
نکته: حتما توجه داشته باشید که با لود کردن کاربر جدید، اطلاعات کاربر فعلی (مکالمات و بقیه موارد) در صورتی که ای دی کاربر را در دیتابیسی ذخیره نداشته باشید برای همیشه غیرقابل دسترس خواهد بود.
FIELD | TYPE | DESCRIPTION |
---|---|---|
userId | string | ای دی کاربر |
کُپی کردن!
1 window.Raychat.loadUser(userId);
Raychat.unloadUser()
باعث پاک شدن تمامی اطلاعات کاربر از مرورگر شده و در صورتی که کاربر دوباره اقدام به بازدید از سایت نمود به عنوان کاربر جدید شناخته میشود.
نکته: برای اعمال تغییرات، بعد از صدا زدن این تابع، مرورگر کاربر از نو بارگذاری شود.
نکته: در صورتی که ای دی کاربر را قبل از صدا زدن این تابع در دیتابیسی ذخیره نکنید، لود کردن دوباره این کاربر غیر ممکن خواهد بود.
کُپی کردن!
1 window.Raychat.unloadUser();
Raychat.sendOfflineMessage()
ارسال پیام از طریق ابزارک رایچت به کاربر.
نکته: این پیام صرفا در سمت کاربر نمایش داده میشود و اپراتور قادر به دیدن این پیام نمی باشد و همچنین مکالمه محسوب نمیشود و با رفرش کردن صفحه پاک میشود.
کُپی کردن!
1 window.Raychat.sendOfflineMessage('سلام وقت بخیر');
Raychat.openWidget()
با استفاده از این تابع میتوانید ابزارک چت را باز کنید.
کُپی کردن!
1 window.Raychat.open();
Raychat.closeWidget()
با استفاده از این تابع می توانید ابزارک چت را ببندید.
کُپی کردن!
1 winow.Raychat.close();
Raychat.toggle()
در صورتی که ابزارک چت باز باشه هنگام فراخوانی این تابع، ابزارک بسته خواهد شد و یا بصورت بر عکس.
کُپی کردن!
1 window.Raychat.toggle();
Raychat.animate()
شخصی سازی حالت انیمیشن آیکون ابزارک چت. این کار باعث میشود که توجه کاربر بیشتر به ابزارک جلب شده و در نتیجه احتمال اینکه کاربر سر صحبت را باز کند بیشتر خواهد شد.
ANIMATIONS |
---|
bounce |
wobble |
tada |
shake |
rubberBand |
swing |
jello |
rotateIn |
کُپی کردن!
1 window.Raychat.animate('tada');
Raychat.isWidgetOpen()
با استفاده از این تابع میتوان تشخیص داد که ابزار چک باز است یا خیر.
RESULT | ANIMATIONS |
---|---|
true | باز است |
false | بسته است |
کُپی کردن!
1 window.Raychat.isWidgetOpen();
رویداد ها
با استفاده از این رویداد ها می توانید نسبت به رفتار کاربر عکس العمل نشان دهید. به طور مثال وقتی کاربر ایمیلش رو در قسمت با خبر شو ثبت کرد یه پیامی بهش نشون بدید. این قسمت هم همیشه در حال بروزرسانی هست و با توجه به نیاز کاربران و درخواست ها امکانات و رویداد های جدید اضافه خواهد شد.
raychat_user_profile_updated
زمانی که اطلاعات کاربر بروز میشود این رویداد اجرا میشود به طور مثال زمانی که کاربر ایمیلش را در قسمت با خبرشو ثبت می کند.
کُپی کردن!
1 window.Raychat.on('raychat_user_profile_updated', function (user) {
2 });
open
زمانی که کاربر ابزارک چت را باز کند این رویداد اجرا میشود.
کُپی کردن!
1 window.Raychat.on('open', function (s) {
2 });
close
زمانی که کاربر ابزارک چت را ببندد این رویداد اجرا میشود.
کُپی کردن!
1 window.Raychat.on('close', function (s) {
2 });
raychat_new_user_loaded
این رویداد زمانی اجرا میشود که شما با استفاده از متد loadUser کاربری را بارگذاری کنید.
کُپی کردن!
1 window.Raychat.on('raychat_new_user_loaded', function (s) {
2 });