callbackhunter/apiv2library

CallbackHunter APIv2 的官方库

此包的官方仓库似乎已不存在,因此该包已被冻结。

v2.0.0 2018-08-03 13:13 UTC

README

这是CallbackHunter APIv2的官方库。

状态

Build Status Coverage Status

有关可用方法的文档可以通过 链接 查找。

注意! API 正处于开发阶段。

安装

为了将库连接到您的项目,您可以使用 composer

composer require callbackhunter/apiv2library

用法

使用示例

获取和修改小部件

use CallbackHunterAPIv2\Entity\Widget\Settings\Factory\ImageForUploadFactory;
use CallbackHunterAPIv2\Entity\Widget\Settings\Images\ButtonLogoImage;
use CallbackHunterAPIv2\MainFactory;
use CallbackHunterAPIv2\ValueObject\Pagination;

$userId = 123;
$key = md5('test');

$pagination = new Pagination;
$repository = MainFactory::makeWidgetRepositoryFactory()->make($userId, $key);
while ($widgets = $repository->getList($pagination)) {
    $pagination->nextPage();
    foreach ($widgets as $widget) {
        if ($widget->isActive()) {
            $widget->setIsActive(false);
            $repository->save($widget);
        }
    }
}

try {
    $uploadFactory = new ImageForUploadFactory;
    $buttonLogo = new ButtonLogoImage;
    $image = $uploadFactory->createFromPath('path/to/image.png');
    $buttonLogo->setForUpload($image);

    $widget = $repository->get('my widget uid');
    $widget->getSettings()->getImages()->getButtonLogo()->setForUpload(
        $buttonLogo->getForUpload()
    );
    $repository->save($widget);
} catch (\CallbackHunterAPIv2\Exception\ChangeOfPaidPropertiesException $e) {
    echo 'You must pay for change: ', implode(
        array_keys($e->getInvalidParams())
    );
} catch (\CallbackHunterAPIv2\Exception\ResourceNotFoundException $e) {
    echo 'Widget not found';
} catch (\CallbackHunterAPIv2\Exception\WidgetValidateException $e) {
    echo 'You trying to upload not an image';
} catch (\CallbackHunterAPIv2\Exception\Exception $e) {
    echo 'API Error: '.$e->getMessage();
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    echo 'HTTP Exception: '.$e->getMessage();
}

获取账户计费信息

$userId = 123456;
$accountId = 465789;
$key = 'fdkjhdfkjhdfkjdfhkjhfdkjhfkj';

try {
    $tariffStatusRepository = MainFactory::makeTariffStatusRepositoryFactory()->make($userId, $key);
    $result = $tariffStatusRepository->get($accountId);
    var_dump($result);
} catch (\CallbackHunterAPIv2\Exception\ResourceNotFoundException $e) {
    echo 'Tariff status for account not found';
} catch (\CallbackHunterAPIv2\Exception\Exception $e) {
    echo 'API Error: ' . $e->getMessage();
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    echo 'HTTP Exception: '. $e->getMessage();
} catch (\Exception $e) {
    echo 'Exception: '. $e->getMessage();
}

获取当前用户信息

use CallbackHunterAPIv2\ValueObject\Credentials as CBHCredentials;
use CallbackHunterAPIv2\Client as CBHClient;
use CallbackHunterAPIv2\MainFactory;

$userId = 123456;
$key = 'fdkjhdfkjhdfkjdfhkjhfdkjhfkj';
try {
    $profileRepository = MainFactory::makeCurrentProfileRepositoryFactory()->make($userId, $key);
    $result = $profileRepository->get();

    print_r($result);    
} catch (\CallbackHunterAPIv2\Exception\ResourceNotFoundException $e) {
    echo 'Current user profile not found';
} catch (\CallbackHunterAPIv2\Exception\Exception $e) {
    echo 'API Error: ' . $e->getMessage();
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    echo 'HTTP Exception: '. $e->getMessage();
} catch (\Exception $e) {
    echo 'Exception: '. $e->getMessage();
}

激活账户的试用期间

use CallbackHunterAPIv2\ValueObject\ActivateTrialArguments;
use CallbackHunterAPIv2\MainFactory;

$userId = 123;
$key = 'test';
$accountUID = 12345;

try {
    $trialArguments = new ActivateTrialArguments();
    $trialArguments['test'] = '12345';
    $repository = MainFactory::makeTrialRepositoryFactory()->make($userId, $key);
    $result = $repository->activateTrial($accountUID, $trialArguments->convertToArray());
    var_dump($result);
} catch (RepositoryException $ex) {
    echo $ex->getMessage();
} catch (GuzzleException $ex) {
    echo $ex->getMessage();
}

向小部件添加电话号码

use CallbackHunterAPIv2\MainFactory;
use CallbackHunterAPIv2\Entity\Widget\Phone\Phone;

$userId = 123;
$key = 'test';

$uid = md5('test');

$phone = new Phone;
$phone->setPhone('911');

$repository = MainFactory::makeWidgetPhoneRepositoryFactory()->make($userId, $key);

try {
    $response = $repository->save($uid, $phone);
    var_dump($response);
} catch (\CallbackHunterAPIv2\Exception\RepositoryException $e) {
    echo $e->getMessage();
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    echo $e->getMessage();
} catch (\Exception $e) {
    echo $e->getMessage();
}