در جهت ایجاد و پیکربندی صندوق ورودی برای کانال API در گپیفای، مراحل توضیح داده شده زیر را دنبال کنید.
کانال API را راه اندازی کنید
مرحله ۱. به تنظیمات -> صندوق های ورودی بروید و روی دکمه "افزودن صندوق ورودی" کلیک کنید.
مرحله ۲. روی ایکون "API" کلیک کنید.
مرحله ۳. نامی برای کانال و یک URL callback وارد کنید.
مرحله ۴. ایجنت ها را به صندوق ورودی API اضافه کنید.
راهاندازی صندوق ورودی به پایان رسید.
ارسال پیامها به کانال API
برای ارسال پیامها به کانال API، اطمینان حاصل کنید که مدلها و اصطلاحات زیر که در گپیفای استفاده میشوند را درک کردهاید.
۱− کانال: کانال نوع منبع مکالمات را تعریف میکند. برای مثال، تلگرام، API و...
۲− صندوق ورودی: شما میتوانید منابع مکالمات متعددی از یک نوع کانال ایجاد کنید. برای مثال، میتوانید بیش از یک ایمیل به یک حساب کاربری گپیفای متصل کنید. هر صفحه در گپیفای به عنوان صندوق ورودی نامیده میشود.
۳− گفتگو: مکالمه مجموعهای از پیامها است.
۴− مخاطب: هر گفتگو با یک فرد واقعی مرتبط است که به آن مخاطب گفته میشود.
۵− صندوقهای ورودی مخاطب: این گفتگویی برای هر مخاطب در یک صندوق ورودی است. یک مخاطب میتواند چندین جلسه و چندین گفتگو در همان صندوق ورودی داشته باشد.
چگونه یک پیام در یک کانال API ارسال کنیم؟
برای ارسال پیام در یک کانال API، ابتدا یک مخاطب ایجاد کنید، یک مکالمه را شروع کنید و در نهایت پیام را ارسال کنید.
APIها نیاز به api_access_token
در هدر درخواست دارند. شما میتوانید این توکن را با مراجعه به تنظیمات پروفایل خود در قسمت توکن دسترسی ، دریافت کنید.
1. ایجاد یک مخاطب
مرجع: مستندات API
شناسه صندوق ورودی کانال API را همراه با سایر پارامترهای مشخص شده ارسال کنید. این به طور خودکار یک جلسه برای شما ایجاد میکند. یک پاسخ نمونه به شکل زیر خواهد بود.
{
"email": "string",
"name": "string",
"phone_number": "string",
"thumbnail": "string",
"additional_attributes": {},
"contact_inboxes": [
{
"source_id": "string",
"inbox": {
"id": 0,
"name": "string",
"website_url": "string",
"channel_type": "string",
"avatar_url": "string",
"widget_color": "string",
"website_token": "string",
"enable_auto_assignment": true,
"web_widget_script": "string",
"welcome_title": "string",
"welcome_tagline": "string",
"greeting_enabled": true,
"greeting_message": "string"
}
}
],
"id": 0,
"availability_status": "string"
}
همانطور که در payload مشاهده میکنید، قادر خواهید بود صندوقهای ورودی مخاطب را ببینید و هر صندوق ورودی مخاطب یک شناسه منبع (source_id) خواهد داشت. شناسه منبع به عنوان شناسه جلسه در نظر گرفته میشود. از این شناسه منبع برای ایجاد یک مکالمه جدید به شرح زیر استفاده خواهید کرد.
۲. ایجاد یک مکالمه
مرجع: مستندات API
از شناسه منبع دریافت شده در تماس API قبلی استفاده کنید. شما یک شناسه گفتگو دریافت خواهید کرد که میتوان از آن برای ایجاد یک پیام استفاده کرد.
{
"id": 0
}
۳. ایجاد یک پیام جدید
مرجع: مستندات API
دو نوع پیام وجود دارد:
پیامهای ورودی: پیامهایی که توسط کاربر نهایی ارسال میشوند به عنوان پیامهای ورودی طبقهبندی میشوند.
پیامهای خروجی: پیامهایی که توسط ایجنت ارسال میشوند به عنوان پیامهای خروجی طبقهبندی میشوند.
اگر با محتوای صحیح API را فراخوانی کنید، یک payload مشابه به این دریافت خواهید کرد:
{
"id": 0,
"content": "This is a incoming message from API Channel",
"inbox_id": 0,
"conversation_id": 0,
"message_type": 0,
"content_type": null,
"content_attributes": {},
"created_at": 0,
"private": false,
"sender": {
"id": 0,
"name": "Pranav",
"type": "contact"
}
}
اگر همه چیز موفقیت آمیز باشد، مکالمه را در داشبورد مشاهده خواهید کرد.
هنگامی که یک پیام جدید در URL مشخص شده در هنگام ایجاد کانال API ایجاد میشود، به شما اطلاع داده خواهد شد.
دریافت پیامها با استفاده از URL callback
هنگامی که یک پیام جدید در کانال API ایجاد میشود، یک درخواست POST به URL callback مشخص شده در هنگام ایجاد کانال API ارسال خواهد شد. payload به این شکل خواهد بود:
نوع رویداد: message_created
{
"id": 0,
"content": "This is a incoming message from API Channel",
"created_at": "2020-08-30T15:43:04.000Z",
"message_type": "incoming",
"content_type": null,
"content_attributes": {},
"source_id": null,
"sender": {
"id": 0,
"name": "contact-name",
"avatar": "",
"type": "contact"
},
"inbox": {
"id": 0,
"name": "API Channel"
},
"conversation": {
"additional_attributes": null,
"channel": "Channel::Api",
"id": 0,
"inbox_id": 0,
"status": "open",
"agent_last_seen_at": 0,
"contact_last_seen_at": 0,
"timestamp": 0
},
"account": {
"id": 1,
"name": "API testing"
},
"event": "message_created"
}
ایجاد رابطها با استفاده از APIهای مشتری
APIهای مشتری موجود برای کانال API به شما کمک میکنند تا رابطهای مشتریپسند برای گپیفای بسازید.
این APIها در موارد زیر مفید هستند:
۱− استفاده از یک رابط چت سفارشی به جای ویجت گپیفای.
۲− ساخت رابطهای گفتگویی در برنامههای موبایل خود.
۳− اضافه کردن گپیفای به پلتفرمهایی که گپیفای برای آنها SDK رسمی ندارد.
ایجاد customer objects
شما میتوانید اشیاء داده مشتری را با استفاده از inbox_identifier
و customer_identifier
ایجاد و بازیابی کنید.
شناسه صندوق ورودی
میتوانید inbox_identifier
را از کانال API خود -> تنظیمات -> پیکربندی بدست آورید.
شناسه مشتری
customer_identifier
یا source_id را میتوانید هنگام ایجاد مشتری با استفاده از سازنده API بدست آورید. شما باید این شناسه را در سمت مشتری ذخیره کنید تا درخواستهای بعدی را به نمایندگی از مشتری انجام دهید. این کار را میتوان در کوکیها، حافظه محلی و.. انجام داد.
APIهای موجود
APIهای مشتری موجود در این لینک مستند شدهاند. برخی از کارهایی که میتوانید با APIها انجام دهید عبارتند از:
-
ایجاد، مشاهده و بهروزرسانی مخاطب
-
ایجاد و فهرست گفتگوها
-
ایجاد، فهرست و بهروزرسانی پیامها