epzuz / wazzup-sdk

此包最新版本(1.0.2)没有可用的许可证信息。

1.0.2 2024-09-13 12:47 UTC

This package is auto-updated.

Last update: 2024-09-13 12:48:34 UTC


README

PHP与Wazzup协同工作的简单解决方案。

Wazzup文档

实现

  • 发送消息
  • 处理频道
  • 处理用户实体
  • 处理联系人
  • 处理交易列表
  • 加载销售漏斗
  • 聊天窗口(iFrame)
  • Webhooks

要求

安装

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);

打赏

Донат