Releases: mesilov/bitrix24-php-sdk
Releases · mesilov/bitrix24-php-sdk
2.0
2.0-beta.3
Added
- add dependencies
symfony/console
version^6 || ^7
symfony/dotenv
version^6 || ^7
symfony/filesystem
version^6 || ^7
symfony/mime
version^6 || ^7
nesbot/carbon
version3.3.*
mesilov/moneyphp-percentage
version0.2.*
- add scope
bizproc
and services for work with workflows:Activity
– service for work with application activities:add
– adds new activity to a workflowdelete
– delete an activitylist
– returns list of activities, installed by the applicationlog
– records data in the workflow logupdate
– update activity fields
Robot
– service for work with application automation rules (robots):add
– registers new automation ruledelete
– deletes registered automation rulelist
– returns list of automation rules, registered by the applicationupdate
– updates fields of automation rules
Event
– service for work with return parameters¨send
– Returns the output parameters to the activity
Providers
— deprecated methods, not implementedWorkflow
— service for work with workflow instancesinstances
– returns list of launched workflowskill
– delete a launched workflowstart
– launches a workflowterminate
– stops an active workflow
Template
— service for work with workflow templatesadd
– add a workflow templatedelete
– delete workflow templatelist
– returns list of workflow templatesupdate
– update workflow template
Tasks
— service for work with workflow taskscomplete
– Complete workflow tasklist
– List of workflow tasks
- add
WorkflowActivityDocumentType
- add method
Bitrix24\SDK\Core\Credentials\AccessToken::initFromWorkflowRequest
- add method
Bitrix24\SDK\Core\Credentials\AccessToken::initFromEventRequest
- add
Bitrix24\SDK\Infrastructure\Filesystem\Base64Encoder
for work with base64 encoding - add
Bitrix24\SDK\Core\Exceptions\FileNotFoundException
if file not found - add
Bitrix24\SDK\Core\Exceptions\MethodConfirmWaitingException
if api call waiting for confirm - add
Bitrix24\SDK\Core\Exceptions\UserNotFoundOrIsNotActiveException
exception if user not found, or it is not active - add
Bitrix24\SDK\Core\Result\UserInterfaceDialogCallResult
result of call UI - add
Bitrix24\SDK\Core\Result\EmptyResult
empty result - add
IncomingRobotRequest
wrapper for data from crm-robot request - add
IncomingWorkflowRequest
wrapper for data from biz proc activity request - add
Bitrix24\SDK\Core\Credentials::isWebhookContext
- for check is current context init from webhook - add method
Bitrix24\SDK\Application\Requests\Events\AbstractEventRequest::getEventId
- for get event id - add method
Bitrix24\SDK\Application\Requests\Events\AbstractEventRequest::getAuth
- get event auth token - add method
Bitrix24\SDK\Application\Requests\Events\EventAuthItem
- event auth token - add method
Bitrix24\SDK\Application\Requests\Events\EventInterface
- for event fabrics - add method
Bitrix24\SDK\Infrastructure\Filesystem\Base64Encoder::encodeCallRecord(string $filename): string
- for
work with call records - add class
Bitrix24\SDK\Services\Main\Service\EventManager
- improve DX for work with events lifecycle bind or unbind - add method
Bitrix24\SDK\Services\Main\Common\EventHandlerMetadata
- improve DX for work with install events - add enum
Bitrix24\SDK\Services\CRM\Common\Result\DiscountType
- add exception
Bitrix24\SDK\Core\Exceptions\WrongAuthTypeException
– if you use wrong auth type. - add class fields filter
Bitrix24\SDK\Core\Fields\FieldsFilter
for fields filtration in result array. - improve DX – add Rector for improve code quality and speed up releases cycle
- improve DX – add attributes for generate documentation and calculate methods coverage.
- command for generate documentation
php bin/console b24:util:generate-coverage-documentation
- improve DX – add internal documentation.
Changed
-
❗️ migrate from
ramsey/uuid
tosymfony/uid
-
❗️ migrate from
DateTimeImmutable
toCarbonImmutable
from carbon -
❗️ refactor
Bitrix24\SDK\Application\Contracts
: -
❗️ update scope
telephony
, scope fully rewrittenExternalCall
– work with external call:getCallRecordUploadUrl
– get url for upload call record fileattachCallRecordInBase64
– attach call record encoded in base64register
– registers a call in Bitrix24searchCrmEntities
– retrieve information about a client from CRM by a telephone number via single requestfinishForUserPhoneInner
– completes the call, registers it in the statistics and hides the call ID screen
from the userfinishForUserId
– completes the call, registers it in the statistics and hides the call ID screen from the
usershow
– displays a call ID screen to the userhide
– hides call information window
Call
– work with call:attachTranscription
– method adds a call transcript
ExternalLine
– work with external line:add
– method adds an external linedelete
– method delete external lineget
– method gets external lines list
Voximplant
– work with voximplant namespace:Sip
– work with sip lines:get
- get sip lines listadd
- add new sip linedelete
- delete sip linestatus
- pbx sip line registration statusupdate
- update sip line settingsgetConnectorStatus
- returns the current status of the SIP Connector.
User
- work with voximplant sip user mapped on bitrix24 userdeactivatePhone
- method disables an indicator of SIP-phone availabilityactivatePhone
- method raises the event of SIP-phone availability for an employeeget
- method returns user settings
Voices
- work with voximplant tts voicesget
- method returns all voximplant voices
Line
- work with voximplant sip linesoutgoingSipSet
- method sets the selected SIP line as an outgoing line by default.get
- returns list of all of the available outgoing linesoutgoingGet
- returns the currently selected line as an outgoing line by default.outgoingSet
- sets the selected line as an outgoing line by default.InfoCall
- work with voximplant info call functionalstartWithText
- method performs the call to the specified number with automatic voiceover of
specified
textstartWithSound
- method makes a call to the specified number with playback of .mp3 format file by
URL.
Url
- work with links for browsing telephony scope pagesget
- returns a set of links for browsing telephony scope pages.
- add events with payload and
TelephonyEventsFabric
:OnExternalCallBackStart
- It is called when a visitor fills out a CRM form for callback. Your application
shall be selected in the form settings as the line that to be used for a callback.OnExternalCallStart
- The event handler is called whenever a user clicks a phone number in CRM object to
initiate an outbound call.OnVoximplantCallEnd
- The event is raised when conversation ends (history entry).OnVoximplantCallInit
- The event is raised when a call is being initialized (regarding the entry or start of
an outbound call).OnVoximplantCallStart
- The event is raised when a conversation starts (operator responds to an inbound
call; call recipient responds to an outbound call).
- add
TranscriptMessage
– data structure for transcript message item - add
TranscriptMessageSide
– enum for describe side of diarization - add
CallType
– call types enum - add
CrmEntityType
– crm entity type enum - add
PbxType
– pbx type enum - add
SipRegistrationStatus
– pbx sip line registration status
-
❗️ update scope
im
, add serviceNotify
:fromSystem
- Sending system notificationfromPersonal
- Sending personal notificationdelete
– Deleting notificationmarkAsRead
- Cancels notification for read messages.markMessagesAsRead
– "Read" the list of notifications, excluding CONFIRM notification type.markMessagesAsUnread
– "Unread" the list of notifications, excluding CONFIRM notification type.confirm
– Interaction with notification buttonsanswer
– Response to notification, supporting quick reply
-
change signature
Bitrix24\SDK\Core\Credentials\AccessToken::getRefreshToken()?string;
- add nullable option for
event tokens -
change signature
Bitrix24\SDK\Core\Commands\Command::getName():?string
renamed togetId():string
-
add fields and change return types in
Bitrix24\SDK\Services\CRM\Deal\Result\DealProductRowItemResult
-
change typehints in
Bitrix24\SDK\Services\CRM\Activity\Service\Activity::add
Deleted
- remove class
Bitrix24\SDK\Application\Requests\Events\OnApplicationInstall\Auth
- remove class
Bitrix24\SDK\Application\Requests\Events\OnApplicationUninstall\Auth
- remove method
Bitrix24\SDK\Core\Response\Response::__destruct
- remove interface `Bitrix24\SDK\Services\T...
2.0-beta.2
What's Changed
- Update dependency versions in composer.json by @mesilov in #374
- 371 publish b24 php sdk beta 2 by @mesilov in #375
Full Changelog: 2.0-beta.1...2.0-beta.2
1.3
What's Changed
- add new subscription exception by @mesilov in #247
- add add callback function for PortalRenamed by @mesilov in #251
- 249 portal renamed by @mesilov in #252
- fix php version requirements again by @mesilov in #253
- change psr/log version requirements by @Elnadrion in #343
New Contributors
- @Elnadrion made their first contribution in #343
2.0-beta.1
Added
- ❗️add php 8.3, 8.2 support, drop 8.1 and 8.0 support
- add
Symfony\Component\Uid\Uuid
requirements - add contracts for bitrix24 applications based on bitrix24-php-sdk -
Bitrix24\SDK\Application\Contracts
, now
addedBitrix24Account
- add service builder factory
- add method
Bitrix24\SDK\Core\Credentials\Scope::initFromString
- add method
Bitrix24\SDK\Application\ApplicationStatus::initFromString
- add system CRM multi-field type
Bitrix24\SDK\Services\CRM\Common\Result\SystemFields\Types\Phone
- add scope
user
,user_basic
,user_brief
,user.userfield
and
services add scope user supportBitrix24\SDK\Services\User\Service\User::fields
- get user fieldsBitrix24\SDK\Services\User\Service\User::current
- get current userBitrix24\SDK\Services\User\Service\User::add
- add userBitrix24\SDK\Services\User\Service\User::get
- get userBitrix24\SDK\Services\User\Service\User::update
- update userBitrix24\SDK\Services\User\Service\User::search
- search users
- add method
\Bitrix24\SDK\Services\CRM\Contact\Service\Batch::update()
for batch update contacts - add crm item support
- add enum
DealStageSemanticId
- add Duplicate search support for
Bitrix24\SDK\Services\CRM\Duplicates\Service\Duplicate
- add
x-request-id
header support - add CRM multifields support header support
Email
Phone
Website
IM
- add Catalog scope services support
Changed
- ❗️Batch interface
BatchInterface
renamed
toBitrix24\SDK\Core\Contracts\BatchOperationsInterface
- ❗
Bitrix24\SDK\Services\Telephony\Requests\Events
moved to separated namespaces:- from
Bitrix24\SDK\Services\Telephony\Requests\Events\OnVoximplantCallInit
toBitrix24\SDK\Services\Telephony\Requests\Events\OnVoximplantCallInit\OnVoximplantCallInit
- from
Bitrix24\SDK\Services\Telephony\Requests\Events\OnVoximplantCallStart
toBitrix24\SDK\Services\Telephony\Requests\Events\OnVoximplantCallStart\OnVoximplantCallStart
- from
Bitrix24\SDK\Services\Telephony\Requests\Events\OnExternalCallStart
toBitrix24\SDK\Services\Telephony\Requests\Events\OnExternalCallStart\OnExternalCallStart
- from
Bitrix24\SDK\Services\Telephony\Requests\Events\OnVoximplantCallEnd
toBitrix24\SDK\Services\Telephony\Requests\Events\OnVoximplantCallEnd\OnVoximplantCallEnd
- from
- ❗Changes in
Bitrix24\SDK\Application\Contracts\Bitrix24Account\Bitrix24AccountInterface
:- method
getContactPerson
renamed togetContactPersonId
- added method
getApplicationVersion
- added method
updateApplicationVersion
- added method
getApplicationScope
- added method
applicationInstalled
- added method
applicationUninstalled
- added method
markAsDeactivated
- added method
getBitrix24UserId
- removed method
markAccountAsDeleted
- changed method
markAsActive
- method
- ❗Changes in
Bitrix24\SDK\Application\Contracts\Bitrix24Account\Bitrix24AccountRepositoryInterface
:- method
saveAccount
renamed tosave
- method
deleteAccount
renamed todelete
- method
findAccountByMemberId
renamed tofindByMemberId
- method
getAccountByMemberId
renamed togetByMemberId
- method
findAccountByContactPersonId
renamed tofindByContactPersonId
- method
findAccountByDomainUrl
renamed tofindByDomainUrl
- add method
findAllActive
- add method
findAllDeactivated
- method
Bugfix
- fix typehint at ContactItemResult
- fix return types in DealCategoryItemResult
- fix add auth node in telephony voximplant events requests
- fix add helper metods isError for registerCallResult fortelephony
- fix add return type for crm multifields phone, email, im
- fix errors in
ShowFieldsDescriptionCommand
metadata reader CLI command - fix errors for
ApplicationProfile
with empty scope - fix errors in
Core
with auth attempt to non-exists portal
etc
- move CLI entry point to
bin/console
2.0-alpha.7
Added
- add new scope
Telephony
and services add Telephony support - add new scope
UserConsent
and services add UserConsent support - add new scope
Placements
and services add Placements support - add new scope
IMOpenLines
and services add IM Open Lines support - add in scope
CRM
new serviceLeads
in scope «CRM» add Leads support - add in scope
CRM
new serviceActivity
in scope «CRM» add Activity support - add in scope
CRM
for entity Deal methodServices\CRM\Deal\Service\Batch::update
batch update deals - add in scope
CRM
for entity Contact methodServices\CRM\Contact\Service\Batch::delete
batch delete contacts - add in scope
CRM
read models for activityServices\CRM\Activity\ReadModel
for activity types:EmailFetcher
,OpenLineFetcher
,VoximplantFetcher
,WebFormFetcher
- add in scope «Main» new service
Events
add incoming events support - add support Application level events:
ONAPPINSTALL
andONAPPUNINSTALL
add incoming events support - add support Application level event:
PortalDomainUrlChangedEvent
- add method
Core\Batch::updateEntityItems
for update items in batch mode and
integration test - add method to interface
Core\Contracts\BatchInterface::updateEntityItems
for update items in batch mode - add in scope
Placements
servicePlacement\Service\UserFieldType
for work with user fields embedding - add in scope
Telephony
add events:OnExternalCallBackStart
,OnExternalCallStart
,OnVoximplantCallEnd
,OnVoximplantCallEnd
,OnVoximplantCallInit
,OnVoximplantCallStart
see add telephony events - add
ApplicationStatus
with application status codes description - add fabric method
AccessToken::initFromPlacementRequest
when application init form placement request - add fabric method
ApplicationProfile::initFromArray
when application profile stored in ENV-variables - add
Bitrix24\SDK\Application\Requests\Placement\PlacementRequest
for application data from placements - add fabric method
Credentials::initFromPlacementRequest
when application init form placement request - add method
Services\Main\Service::getServerTime
returns current server time in the format YYYY-MM-DDThh:mm:ss±hh:mm. - add method
Services\Main\Service::getCurrentUserProfile
return basic Information about the current user without any scopes - add method
Services\Main\Service::getAccessName
returns access permission names. - add method
Services\Main\Service::checkUserAccess
Checks if the current user has at least one permission of those specified by the ACCESS parameter. - add method
Services\Main\Service::getMethodAffordability
Method returns 2 parameters - isExisting and isAvailable - add money type support by phpmoney
- add support fields
operating
andoperating_reset_at
atBitrix24\SDK\Core\Response\DTO\Time
datastructures
Changed
- update scope list расширить и актуализировать доступные скоупы
- bump
symfony/*
to6.*
version requirement. - method
Services\Main\Service::getAvailableMethods
marks as deprecated - method
Services\Main\Service::getAllMethods
marks as deprecated - method
Services\Main\Service::getMethodsByScope
marks as deprecated - ❗️fabric methods
Bitrix24\SDK\Core\Credentials
renamed and now are consistent:createFromWebhook
,createFromOAuth
,createFromPlacementRequest
- ❗️deleted unused class
Bitrix24\SDK\Core\Response\DTO\ResponseDataCollection
- ❗️deleted redundant class
Bitrix24\SDK\Core\Response\DTO\Result
- ❗️deleted method
CoreBuilder::withWebhookUrl
, use
methodCoreBuilder::withCredentials
Bugfix
- add bugfix for batch method for reverse order queries
- fix type compatible errors for
Core\Result\AbstractItem
- fix error in
NetworkTimingParser
, error in NetworkTimingsErrorInfo - fix error in
RenewedAccessToken
DTO, removeScope
enum UnknownScopeCodeException - in refresh token response
etc
- add link to boosty.to/bitrix24-php-sdk for sponsoring development
2.0-alpha.6
2.0-alpha.6 — 7.02.2021
Added
- add «fast» batch-query without counting elements in result
recordset Добавить поддержку выгрузки большого количества данных без подсчёта элементов -1 - add
Credentials
in CoreBuilder set credentials from core builder - add method
Core\Batch::deleteEntityItems
for delete items in batch mode and integration test - add integration test for read strategy
FilterWithBatchWithoutCountOrderTest
- add type check in method
Core\Batch::deleteEntityItems
- only integer id allowed - add interface
Core\Contracts\DeletedItemResultInterface
- add in scope «CRM»
Services\CRM\Deal\Service\Batch::delete
batch delete deals - add
symfony/stopwatch
component for integration tests - add
/Infrastructure/HttpClient/TransportLayer/NetworkTimingsParser
for parsecurl_info
network data structures for debug logs
inBitrix24\SDK\Core\Response::__destruct()
- add
/Infrastructure/HttpClient/TransportLayer/ResponseInfoParser
for parsebitrix24_rest_api
timing info for debug logs
inBitrix24\SDK\Core\Response::__destruct()
- add
Bitrix24\SDK\Core\BulkItemsReader
for data-intensive applications for bulk export data from Bitrix24, read strategies located in
folderReadStrategies
, in services read model must use most effective read strategy. - add integration tests in GitHub Actions pipeline 🎉, now integration tests run on push on
dev-branch
- add incoming webhook for run integration tests
vendor-check.yml
from vendor CI\CD pipeline
Changed
- switch
symfony/http-client
to5.4.*
version requirement. - switch
symfony/http-client-contracts
to^2.5
version requirement. - switch
symfony/event-dispatcher
to5.4.*
version requirement. - switch
ramsey/uuid
to^4.2.3
version requirement. - switch
psr/log
to^1.1.4 || ^2.0 || ^3.0
version requirement.
1.2.2
1.2.1
1.2.0
1.2.0 (15.01.2022)
- add callback function for PortalRenamed
event Добавить callback-функцию при переименовании портала для ветки 1.x - bump minimum php version for 5.4.*
- disable default CURLOPT_FOLLOWLOCATION