Простое решение для работы из 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);
$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();
$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 = 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 любой из классов, который реализуют интерфейс 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);