bothelpio/bothelp-php-sdk

Bothelp.io API 的 PHP 客户端

dev-master 2023-04-07 08:23 UTC

This package is auto-updated.

Last update: 2024-09-07 11:45:21 UTC


README

PHP Клиент для работы с Bothelp.io API

📖 通过 链接 查看Bothelp API 文档

📑 导航

1. 安装

要求

php >= 7.4

通过 composer 安装

composer require bothelpio/bothelp-php-sdk

2. 快速入门 🚀

在个人账户中获取

client_id

client_secret

创建客户端

use BothelpSDK\BothelpClient;
use BothelpSDK\Config\ClientOptions;

// создаем клиента
$options = new ClientOptions(
    '***YourClientId***',
    '***YourClientSecret***'
);
$client = new new BothelpClient($options);

//отправляем произовольный запрос к апи bothelp
// get
$response = $client->apiRequest('GET', 'subsribers?after=12323');
// patch
$response = $client->apiRequest(
    'PATCH', 
    'subsribers/12', 
    [
      ['op' => 'replace', 'path' => '/name', 'value' => 'John Doe']
    ]
);
//etc...
 

3. 订阅者列表

use BothelpSDK\BothelpClient;
use BothelpSDK\Config\ClientOptions;
use BothelpSDK\Request\Subscriber\SubscriberFilter;
use BothelpSDK\Resource\Subscriber\SubscriberService;

// создаем клиента
$options = new ClientOptions(
    '***YourClientId***',
    '***YourClientSecret***'
);
$client = new new BothelpClient($options);

// создаем сервис для работы с подписчиками
$subscriberService = new SubscriberService($client);

// ПРИМЕР 1 
// получим список всех подписчиков и выведем их имена
$list = $subscriberService->list();
foreach($list as $subscriber) {
    echo $subscriber->getName();
}

// ПРИМЕР 2
// получим подписчика по email
$filter = new SubscriberFilter();
$filter->setEmail('johnDhoe@example.com');
$list = $subscriberService->list($filter);
if ($list->count() > 0) {
   $subscriber = $list[0];
   print_r($subscriber->getRawData());
}

// ПРИМЕР 3
// получим список всех подписчиков после определенной даты 
// и пройдемся по постраничке
$filter = new SubscriberFilter();
$filter->setCreatedAfter(1662126165);
$page1list = $subscriberService->list($filter);
if ($page1list->hasNext()) { // есть еще страницы в выдаче?
 // заберем вторую страницу...
 $page2List = $subscriberService->list($page1list->getNextFilter());
}

4. 修改订阅者字段

use BothelpSDK\BothelpClient;
use BothelpSDK\Config\ClientOptions;
use BothelpSDK\Request\Subscriber\SubscriberId;
use BothelpSDK\Resource\Subscriber\SubscriberService;

// создаем клиента
$options = new ClientOptions(
    '***YourClientId***',
    '***YourClientSecret***'
);
$client = new new BothelpClient($options);

// создаем сервис для работы с подписчиками
$subscriberService = new SubscriberService($client);

// Определим с каким подписчиком будем работать.
// по ID подписчика
$id = (new SubscriberId())->setId(92);
// или по CUID подписчика
$id = (new SubscriberId())->setCuid('1et0.2k');

// Вызовем нужные методы

// записать телефон
$subscriberService->setPhone($id, '+79941111111');
// записать email
$subscriberService->setEmail($id, 'hello@bothelp.io');
// записать полное имя
$subscriberService->setName($id, 'John Doe');
// записать имя
$subscriberService->setFirstName($id, 'John');
// записать фамилию
$subscriberService->setLastName($id, 'Doe');
// записать заметки
$subscriberService->setNotes($id, 'some notes text... ');

5. 修改订阅者标签

use BothelpSDK\BothelpClient;
use BothelpSDK\Config\ClientOptions;
use BothelpSDK\Request\Subscriber\SubscriberId;
use BothelpSDK\Resource\Subscriber\SubscriberService;

// создаем клиента
$options = new ClientOptions(
    '***YourClientId***',
    '***YourClientSecret***'
);
$client = new new BothelpClient($options);

// создаем сервис для работы с подписчиками
$subscriberService = new SubscriberService($client);

// Определим с каким подписчиком будем работать.
// по ID подписчика
$id = (new SubscriberId())->setId(92);
// или по CUID подписчика
$id = (new SubscriberId())->setCuid('1et0.2k');

// Вызовем нужные методы

// добавим 3 метки пользователю
$subscriberService->setTags($id, ['awesome', 'bad', 'best']);
// удалить 2 метки у пользователя
$subscriberService->removeTags($id, ['bad', 'best']);

6. 修改订阅者自定义字段

use BothelpSDK\BothelpClient;
use BothelpSDK\Config\ClientOptions;
use BothelpSDK\Request\Subscriber\SubscriberId;
use BothelpSDK\Resource\CustomField\CustomField;

// создаем клиента
$options = new ClientOptions(
    '***YourClientId***',
    '***YourClientSecret***'
);
$client = new new BothelpClient($options);

// создаем сервис для работы с customField
$customFieldService = new CustomField($client);

// Установим поле favorite_color в значение blue для подписчика с id = 92
$id = (new SubscriberId())->setId(92);
$customFieldService->setField($id, 'favorite_color', 'blue');

// Установим поле Бюджет в значение 7000 для подписчика с cuid = 1et0.2k
$id = (new SubscriberId())->setCuid('1et0.2k');
$customFieldService->setField($id, 'Бюджет', '7000');

7. 发送消息

use BothelpSDK\BothelpClient;
use BothelpSDK\Config\ClientOptions;
use BothelpSDK\Request\Subscriber\SubscriberId;
use BothelpSDK\Resource\Message\MessageService;

// создаем клиента
$options = new ClientOptions(
    '***YourClientId***',
    '***YourClientSecret***'
);
$client = new new BothelpClient($options);

// создаем сервис для работы с сообщениями
$messageService = new MessageService($client);

// отправим сообщение для подписчика с id = 92
$id = (new SubscriberId())->setId(92);
$messageService->send($id, 'hello world');

// отправим сообщение в несколько строк для подписчика с cuid = 1et0.2k
$id = (new SubscriberId())->setCuid('1et0.2k');
$content = 'hello' . PHP_EOL;
$content .= 'My name api ' . PHP_EOL;
$content .= '😂';
$messageService->send($id, $content);

8. 处理自动邮件

👷 更多功能即将推出

9. 处理订阅者机器人

👷 更多功能即将推出