epzuz / wazzup-sdk
There is no license information available for the latest version (1.0.2) of this package.
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: 2025-07-13 14:28:38 UTC
README
Простое решение для работы из PHP с Wazzup.
Реализовано:
- Отправка сообщений
- Работа с каналами
- Работа с сущностью пользователя
- Работа с контактами
- Работа со списком сделок
- Загрузка воронок продаж
- Окно чатов (iFrame)
- Вебхуки
Требования
- PHP 7.4
- Любой HTTP-клиент поддерживающий PSR-18 (HTTP-client)
Установка
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))
Методы модуля Channels
$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);
Методы модуля Messages
$client->messages()->send(new MessageRequestDto());
Методы модуля Pipelines
$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);