PHP Class Bitrix24\Bitrix24

Author: Mesilov Maxim ([email protected])
Inheritance: implements Bitrix24\Contracts\iBitrix24
显示文件 Open project: mesilov/bitrix24-php-sdk Class Usage Examples

Protected Properties

Property Type Description
$accessToken access token
$applicationId application id
$applicationScope scope
$applicationSecret application secret
$customCurlOptions custom options for cURL
$domain domain
$isSaveRawResponse if true raw response from bitrix24 will be available from method getRawResponse, this is debug mode
$log PSR-3 compatible logger, use only from wrappers methods log*
$memberId portal GUID
$methodParameters
$rawRequest raw request, contain all cURL options array and API query
$rawResponse raw response from bitrix24
$redirectUri redirect URI from application settings
$refreshToken refresh token
$requestInfo request info data structure акщь curl_getinfo function
$retriesToConnectCount CURL request count retries
$retriesToConnectTimeout retries to connect timeout in microseconds

Public Methods

Method Description
__construct ( boolean $isSaveRawResponse = false, Psr\Log\LoggerInterface $obLogger = null ) : Bitrix24 Create a object to work with Bitrix24 REST API service
call ( string $methodName, array $additionalParameters = [] ) : array Execute Bitrix24 REST API method
getAccessToken ( ) : string | null Get access token
getApplicationId ( ) : string Get application id
getApplicationScope ( ) : string Get application scope
getApplicationSecret ( ) : string Get application secret
getAvailableMethods ( array $applicationScope = [], boolean $isFull = false ) : array Get list of all methods available for current application
getDomain ( ) : string | null Get domain
getFirstAccessToken ( $code ) : array Authorize and get first access token
getMemberId ( ) : string | null Get memeber ID
getMethodParameters ( ) : array | null Return additional parameters of last api-call. Data available after you try to call method call
getNewAccessToken ( ) : array Get new access token
getRawRequest ( ) : array | null Return raw request, contain all cURL options array and API query. Data available after you try to call method call numbers of array keys is const of cURL module. Example: CURLOPT_RETURNTRANSFER = 19913
getRawResponse ( ) : string | null Get raw response from Bitrix24 before json_decode call, method available only in debug mode.
getRedirectUri ( ) : string | null Get redirect URI
getRefreshToken ( ) : string Get refresh token
getRequestInfo ( ) : array | null Return result from function curl_getinfo. Data available after you try to call method call
getRetriesToConnectCount ( ) : integer get CURL request count retries
getRetriesToConnectTimeout ( ) : mixed get retries to connect timeout in microseconds
getScope ( boolean $isFull = false ) : array get list of scope for current application from bitrix24 api
getSecuritySignSalt ( ) : integer Get a random string to sign protected api-call. Use salt for argument "state" in secure api-call random string is a result of mt_rand function
isAccessTokenExpire ( ) : boolean Check is access token expire, call list of all available api-methods from B24 portal with current access token if we have an error code expired_token then return true else return false
setAccessToken ( string $accessToken ) : true Set access token
setApplicationId ( string $applicationId ) : true; Set application id
setApplicationScope ( array $applicationScope ) : boolean Set application scope
setApplicationSecret ( string $applicationSecret ) : true; Set application secret
setCustomCurlOptions ( array $options ) : boolean Set custom cURL options, overriding default ones
setDomain ( $domain ) : true; Set domain
setMemberId ( string $memberId ) : true Set member ID — portal GUID
setRedirectUri ( string $redirectUri ) : true; Set redirect URI
setRefreshToken ( $refreshToken ) : true; Set refresh token
setRetriesToConnectCount ( $retriesCnt = 1 ) : boolean set CURL request count retries
setRetriesToConnectTimeout ( integer $microseconds = 1000000 ) : boolean set retries to connect timeout in microseconds

Protected Methods

Method Description
executeRequest ( string $url, array $additionalParameters = [] ) : array Execute a request API to Bitrix24 using cURL
getErrorContext ( ) : array get error context
handleBitrix24APILevelErrors ( $arRequestResult, $methodName, array $additionalParameters = [] ) : null Handling bitrix24 api-level errors

Method Details

__construct() public method

Create a object to work with Bitrix24 REST API service
public __construct ( boolean $isSaveRawResponse = false, Psr\Log\LoggerInterface $obLogger = null ) : Bitrix24
$isSaveRawResponse boolean - if true raw response from bitrix24 will be available from method getRawResponse, this is debug mode
$obLogger Psr\Log\LoggerInterface - instance of \Monolog\Logger
return Bitrix24

call() public method

Execute Bitrix24 REST API method
public call ( string $methodName, array $additionalParameters = [] ) : array
$methodName string
$additionalParameters array
return array

executeRequest() protected method

Execute a request API to Bitrix24 using cURL
protected executeRequest ( string $url, array $additionalParameters = [] ) : array
$url string
$additionalParameters array
return array

getAccessToken() public method

Get access token
public getAccessToken ( ) : string | null
return string | null | null

getApplicationId() public method

Get application id
public getApplicationId ( ) : string
return string

getApplicationScope() public method

Get application scope
public getApplicationScope ( ) : string
return string

getApplicationSecret() public method

Get application secret
public getApplicationSecret ( ) : string
return string

getAvailableMethods() public method

Get list of all methods available for current application
public getAvailableMethods ( array $applicationScope = [], boolean $isFull = false ) : array
$applicationScope array
$isFull boolean
return array

getDomain() public method

Get domain
public getDomain ( ) : string | null
return string | null | null

getErrorContext() protected method

get error context
protected getErrorContext ( ) : array
return array

getFirstAccessToken() public method

Authorize and get first access token
public getFirstAccessToken ( $code ) : array
$code
return array

getMemberId() public method

Get memeber ID
public getMemberId ( ) : string | null
return string | null | null

getMethodParameters() public method

Return additional parameters of last api-call. Data available after you try to call method call
public getMethodParameters ( ) : array | null
return array | null | null

getNewAccessToken() public method

Get new access token
public getNewAccessToken ( ) : array
return array

getRawRequest() public method

Return raw request, contain all cURL options array and API query. Data available after you try to call method call numbers of array keys is const of cURL module. Example: CURLOPT_RETURNTRANSFER = 19913
public getRawRequest ( ) : array | null
return array | null | null

getRawResponse() public method

To activate debug mode you must before set to true flag isSaveRawResponse in class construct
public getRawResponse ( ) : string | null
return string | null | null

getRedirectUri() public method

Get redirect URI
public getRedirectUri ( ) : string | null
return string | null | null

getRefreshToken() public method

Get refresh token
public getRefreshToken ( ) : string
return string

getRequestInfo() public method

Return result from function curl_getinfo. Data available after you try to call method call
public getRequestInfo ( ) : array | null
return array | null | null

getRetriesToConnectCount() public method

get CURL request count retries

getRetriesToConnectTimeout() public method

get retries to connect timeout in microseconds
public getRetriesToConnectTimeout ( ) : mixed
return mixed

getScope() public method

get list of scope for current application from bitrix24 api
public getScope ( boolean $isFull = false ) : array
$isFull boolean
return array

getSecuritySignSalt() public method

Get a random string to sign protected api-call. Use salt for argument "state" in secure api-call random string is a result of mt_rand function
public getSecuritySignSalt ( ) : integer
return integer

handleBitrix24APILevelErrors() protected method

Handling bitrix24 api-level errors
protected handleBitrix24APILevelErrors ( $arRequestResult, $methodName, array $additionalParameters = [] ) : null
$arRequestResult
$methodName
$additionalParameters array
return null

isAccessTokenExpire() public method

Check is access token expire, call list of all available api-methods from B24 portal with current access token if we have an error code expired_token then return true else return false
public isAccessTokenExpire ( ) : boolean
return boolean

setAccessToken() public method

Set access token
public setAccessToken ( string $accessToken ) : true
$accessToken string
return true

setApplicationId() public method

Set application id
public setApplicationId ( string $applicationId ) : true;
$applicationId string
return true;

setApplicationScope() public method

Set application scope
public setApplicationScope ( array $applicationScope ) : boolean
$applicationScope array
return boolean

setApplicationSecret() public method

Set application secret
public setApplicationSecret ( string $applicationSecret ) : true;
$applicationSecret string
return true;

setCustomCurlOptions() public method

Set custom cURL options, overriding default ones
public setCustomCurlOptions ( array $options ) : boolean
$options array - array(CURLOPT_XXX => value1, CURLOPT_XXX2 => value2,...)
return boolean

setDomain() public method

Set domain
public setDomain ( $domain ) : true;
$domain
return true;

setMemberId() public method

Set member ID — portal GUID
public setMemberId ( string $memberId ) : true
$memberId string
return true

setRedirectUri() public method

Set redirect URI
public setRedirectUri ( string $redirectUri ) : true;
$redirectUri string
return true;

setRefreshToken() public method

Set refresh token
public setRefreshToken ( $refreshToken ) : true;
$refreshToken
return true;

setRetriesToConnectCount() public method

set CURL request count retries
public setRetriesToConnectCount ( $retriesCnt = 1 ) : boolean
$retriesCnt
return boolean

setRetriesToConnectTimeout() public method

set retries to connect timeout in microseconds
public setRetriesToConnectTimeout ( integer $microseconds = 1000000 ) : boolean
$microseconds integer
return boolean

Property Details

$accessToken protected_oe property

access token
protected $accessToken

$applicationId protected_oe property

application id
protected $applicationId

$applicationScope protected_oe property

scope
protected $applicationScope

$applicationSecret protected_oe property

application secret
protected $applicationSecret

$customCurlOptions protected_oe property

custom options for cURL
protected $customCurlOptions

$domain protected_oe property

domain
protected $domain

$isSaveRawResponse protected_oe property

if true raw response from bitrix24 will be available from method getRawResponse, this is debug mode
protected $isSaveRawResponse

$log protected_oe property

PSR-3 compatible logger, use only from wrappers methods log*
See also: https://github.com/Seldaek/monolog
protected $log

$memberId protected_oe property

portal GUID
protected $memberId

$methodParameters protected_oe property

protected $methodParameters

$rawRequest protected_oe property

raw request, contain all cURL options array and API query
protected $rawRequest

$rawResponse protected_oe property

raw response from bitrix24
protected $rawResponse

$redirectUri protected_oe property

redirect URI from application settings
protected $redirectUri

$refreshToken protected_oe property

refresh token
protected $refreshToken

$requestInfo protected_oe property

request info data structure акщь curl_getinfo function
protected $requestInfo

$retriesToConnectCount protected_oe property

CURL request count retries
protected $retriesToConnectCount

$retriesToConnectTimeout protected_oe property

retries to connect timeout in microseconds
protected $retriesToConnectTimeout