meraproject/vendor/amocrm/amocrm-api-library/examples/widgets_actions.php
keboss-m 5c21d25d45 Initial commit: Merakomis portal, Docker stack and user-reader API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 11:04:05 +03:00

58 lines
1.5 KiB
PHP

<?php
use AmoCRM\Exceptions\AmoCRMApiException;
use League\OAuth2\Client\Token\AccessTokenInterface;
include_once __DIR__ . '/bootstrap.php';
$accessToken = getToken();
$apiClient->setAccessToken($accessToken)
->setAccountBaseDomain($accessToken->getValues()['baseDomain'])
->onAccessTokenRefresh(
function (AccessTokenInterface $accessToken, string $baseDomain) {
saveToken(
[
'accessToken' => $accessToken->getToken(),
'refreshToken' => $accessToken->getRefreshToken(),
'expires' => $accessToken->getExpires(),
'baseDomain' => $baseDomain,
]
);
}
);
$widgetsService = $apiClient->widgets();
//Получим виджет
try {
$widget = $widgetsService->getOne('amo_asterisk');
} catch (AmoCRMApiException $e) {
printError($e);
die;
}
$widget->setSettings([
'login' => 'example',
'password' => 'SuchAnEasyPassword',
'script_path' => 'https://example.com/amocrm_asterisk/',
'phones' => [
504141 => 459 //id пользователя => добавочный номер
],
]);
//Установим виджет
try {
$widget = $widgetsService->install($widget);
} catch (AmoCRMApiException $e) {
printError($e);
die;
}
//Отключим виджет
try {
$widget = $widgetsService->uninstall($widget);
} catch (AmoCRMApiException $e) {
printError($e);
die;
}