Skip to content

Простое решение для работой с Wazzup из PHP

License

Notifications You must be signed in to change notification settings

ePZuz/Wazzup-SDK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP SDK для Wazzup

Простое решение для работы из PHP с Wazzup.

Документация по Wazzup

Реализовано:

  • Отправка сообщений
  • Работа с каналами
  • Работа с сущностью пользователя
  • Работа с контактами
  • Работа со списком сделок
  • Загрузка воронок продаж
  • Окно чатов (iFrame)
  • Вебхуки

Требования

Установка

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

Донат

Донат

About

Простое решение для работой с Wazzup из PHP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages