سرویس گفتوگو
مدیریت پیامها و تعاملات گفتوگویی با استفاده از سرویس گفتوگو. این سرویس ابزارهای جامعی برای مدیریت مکالمات، پیامها و تعاملات چت فراهم میکند: ایجاد و مدیریت گفتوگوها، ارسال و دریافت پیامها، پشتیبانی از انواع مختلف پیام.
فهرست مطالب
متدهای گفتوگو
متد | توضیحات | پارامترها |
---|---|---|
createMessage() | ایجاد پیام | request: MessageRequest |
createChat() | ایجاد گفتوگو | request: CreateChatRequest |
getMessages() | دریافت پیامها | request: GetMessagesRequest |
getChats() | دریافت لیست گفتوگوها | request: GetChatsRequest |
مثالها
پیکربندی اولیه
<?php
use Basalam\SDK\BasalamClient;
use Basalam\SDK\Auth\PersonalToken;
$auth = new PersonalToken(
token: 'your_access_token',
refreshToken: 'your_refresh_token'
);
$client = new BasalamClient($auth);
ایجاد پیام
<?php
use Basalam\SDK\Chat\Models\MessageRequest;
use Basalam\SDK\Chat\Enums\MessageTypeEnum;
use Basalam\SDK\Chat\Models\MessageInput;
function createMessageExample(): object
{
global $client;
$request = new MessageRequest(
chatId: 123,
messageType: MessageTypeEnum::TEXT,
content: new MessageInput(
text: 'سلام، چطور میتونم کمکتون کنم؟'
)
);
$message = $client->createMessage(request: $request);
return $message;
}
انواع مختلف پیام شامل موارد زیر در مدل MessageTypeEnum
پشتیبانی میشوند:
file
- فایل ضمیمهproduct
- کارت محصولvendor
- غرفهدارtext
- پیام متنی سادهpicture
- تصویر (به صورت URL یا فایل)voice
- پیام صوتیvideo
- پیام ویدیوییlocation
- اشتراکگذاری موقعیت مکانی
ایجاد گفتوگو
<?php
use Basalam\SDK\Chat\Models\CreateChatRequest;
function createChatExample(): object
{
global $client;
$request = new CreateChatRequest(
userId: 123
);
$newChat = $client->createChat(request: $request);
return $newChat;
}
دریافت پیامها
<?php
use Basalam\SDK\Chat\Models\GetMessagesRequest;
function getMessagesExample(): array
{
global $client;
$request = new GetMessagesRequest(
chatId: 123,
messageId: 456,
limit: 20,
order: 'desc'
);
$messages = $client->getMessages(request: $request);
return $messages;
}
دریافت لیست گفتوگوها
<?php
use Basalam\SDK\Chat\Models\GetChatsRequest;
use Basalam\SDK\Chat\Enums\MessageOrderByEnum;
use Basalam\SDK\Chat\Enums\MessageFiltersEnum;
function getChatsExample(): array
{
global $client;
$request = new GetChatsRequest(
limit: 30,
orderBy: MessageOrderByEnum::UPDATED_AT,
filters: MessageFiltersEnum::UNSEEN
);
$chats = $client->getChats(request: $request);
return $chats;
}
Last updated on