epzuz / wazzup-sdk
此包最新版本(1.0.2)没有可用的许可证信息。
1.0.2
2024-09-13 12:47 UTC
Requires
- ext-json: *
- nyholm/psr7: ^1.2
- psr/http-client: ^1.0
Requires (Dev)
- phpunit/phpunit: ^10.5
This package is auto-updated.
Last update: 2024-09-13 12:48:34 UTC
README
PHP与Wazzup协同工作的简单解决方案。
实现
- 发送消息
- 处理频道
- 处理用户实体
- 处理联系人
- 处理交易列表
- 加载销售漏斗
- 聊天窗口(iFrame)
- Webhooks
要求
- PHP 7.4
- 任何支持 PSR-18 (HTTP-client) 的HTTP客户端
安装
composer require epzuz/wazzup-sdk
客户端初始化示例
$client = new Client('Ваш API токен', new \GuzzleHttp\Client());
创建和编辑联系人的示例
$list = new ListRequestDto(); $contactDto = new ContactItemDto(); $contactDto->id = 'ID контакта'; $contactDto->name = 'Имя контакта'; $contactDto->responsibleUserId = 'ID ответственного'; $contactDto->uri = 'Ссылка на ответственного'; $contactData = new ContactDataDto(); $contactData->chatType = 'whatsapp'; $contactData->chatId = '1234567'; $contactDto->contactData[] = $contactData; $list->push($contactDto); $response = $client->contacts()->add($list); $response = new WazzupResponse($response);
可用方法
CRUD模块(Contacts、Deals、Users)的示例,以Contacts模块为例
$client->contacts()->add(new \Epzuz\WazzupSdk\Dto\ListRequestDto()); $client->contacts()->getList($offset); $client->contacts()->getById($id); $client->contacts()->delete($id); $client->contacts()->bulkDelete(array $ids))
频道模块的方法
$client->channels()->getList();
iFrame模块的方法
$iframeDto = new \Epzuz\WazzupSdk\Dto\IFrameRequestDto(); $iframeDto->scope = 'global'; $iframeDto->userId = 'userId'; $iframeDto->userName = 'userName'; //при необходимости можно добавить Dto для опций и фильтров $iframeDto->options = new \Epzuz\WazzupSdk\Dto\IFrameOptionsDto(); $iframeDto->options->useMessageEvents = true; $client->iframe()->getFrame($iframeDto);
消息模块的方法
$client->messages()->send(new MessageRequestDto());
管道模块的方法
$client->pipelines()->getList(); $client->pipelines()->store(new ListRequestDto());
Webhooks模块的方法
$webhooks = new WebhookDto(); $webhooks->webhooksUri = YOUR_URI_HERE; $webhooks->subscriptions->contactsAndDealsCreation = true; $client->webhooks()->patch($webhooks); $client->webhooks()->get()
辅助实体
//Все запросы возвращают \Psr\Http\Message\ResponseInterface. //Вы можете использовать WazzupResponse для обработки Response или свой локальный обработчик $response = $this->service->getClient()->contacts()->add($list); $response = new WazzupResponse($response); $response->getBody(); $response->getStatusCode(); $response->isOk(); $response->getErrors(); $response->hasErrors();
构建ListRequestDto以进行请求
//Вы можете добавить в класс ListRequestDto любой из классов, который реализуют интерфейс WazzupItemDtoInterface $list = new ListRequestDto(); $contact = new ContactItemDto(); $contact->id = '1'; $contact->name = 'asdasd'; $contact->contactData[] = [ 'chatType' => 'whatsapp', 'chatId' => '79822333344' ]; $contact->responsibleUserId = 1; $list->push($contact);