callbackhunter / apiv2library
Official library for APIv2 of CallbackHunter
This package's canonical repository appears to be gone and the package has been frozen as a result.
Installs: 11 923
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 8
Forks: 0
Open Issues: 0
Requires
- php: >=5.6
- callbackhunter/apiv2client: 1.*
- guzzlehttp/guzzle: ^6.3
- guzzlehttp/psr7: ^1.4
Requires (Dev)
- phpunit/phpunit: ^5.0
- satooshi/php-coveralls: ^1.0
- squizlabs/php_codesniffer: ^3.1
- wimg/php-compatibility: ^8.0
README
Официальная библиотека для APIv2 CallbackHunter.
Status
Документацию по доступным методам можно найти по ссылке
Внимание! API находится в стадии разработки.
Installation
Для того, чтобы подключить библиотеку в свой проект, можно воспользоваться composer
composer require callbackhunter/apiv2library
Usage
Примеры использования
Получение и изменени виджетов
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(); }