Skip to content

Releases: mesilov/bitrix24-php-sdk

2.0

28 Aug 18:09
a3c9905
Compare
Choose a tag to compare

Fully refactored bitrix24-php-sdk based on Symfony components 🚀

2.0-beta.3

27 Aug 19:08
af52132
Compare
Choose a tag to compare

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 version 3.3.*
    • mesilov/moneyphp-percentage version 0.2.*
  • add scope bizproc and services for work with workflows:
    • Activity – service for work with application activities:
      • add – adds new activity to a workflow
      • delete – delete an activity
      • list – returns list of activities, installed by the application
      • log – records data in the workflow log
      • update – update activity fields
    • Robot – service for work with application automation rules (robots):
      • add – registers new automation rule
      • delete – deletes registered automation rule
      • list – returns list of automation rules, registered by the application
      • update – updates fields of automation rules
    • Event – service for work with return parameters¨
      • send – Returns the output parameters to the activity
    • Providers — deprecated methods, not implemented
    • Workflow — service for work with workflow instances
      • instances – returns list of launched workflows
      • kill – delete a launched workflow
      • start – launches a workflow
      • terminate – stops an active workflow
    • Template — service for work with workflow templates
      • add – add a workflow template
      • delete – delete workflow template
      • list – returns list of workflow templates
      • update – update workflow template
    • Tasks — service for work with workflow tasks
      • complete – Complete workflow task
      • list – 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 

Changed

  • ❗️ migrate from ramsey/uuid to symfony/uid

  • ❗️ migrate from DateTimeImmutable to CarbonImmutable from carbon

  • ❗️ refactor Bitrix24\SDK\Application\Contracts:

  • ❗️ update scope telephony, scope fully rewritten

    • ExternalCall – work with external call:
      • getCallRecordUploadUrl – get url for upload call record file
      • attachCallRecordInBase64 – attach call record encoded in base64
      • register – registers a call in Bitrix24
      • searchCrmEntities – retrieve information about a client from CRM by a telephone number via single request
      • finishForUserPhoneInner – completes the call, registers it in the statistics and hides the call ID screen
        from the user
      • finishForUserId – completes the call, registers it in the statistics and hides the call ID screen from the
        user
      • show – displays a call ID screen to the user
      • hide – hides call information window
    • Call – work with call:
      • attachTranscription – method adds a call transcript
    • ExternalLine – work with external line:
      • add – method adds an external line
      • delete – method delete external line
      • get – method gets external lines list
    • Voximplant – work with voximplant namespace:
      • Sip – work with sip lines:
        • get - get sip lines list
        • add - add new sip line
        • delete - delete sip line
        • status - pbx sip line registration status
        • update - update sip line settings
        • getConnectorStatus - returns the current status of the SIP Connector.
      • User - work with voximplant sip user mapped on bitrix24 user
        • deactivatePhone - method disables an indicator of SIP-phone availability
        • activatePhone - method raises the event of SIP-phone availability for an employee
        • get - method returns user settings
      • Voices - work with voximplant tts voices
        • get - method returns all voximplant voices
      • Line - work with voximplant sip lines
        • outgoingSipSet - method sets the selected SIP line as an outgoing line by default.
        • get - returns list of all of the available outgoing lines
        • outgoingGet - 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 functional
          • startWithText - method performs the call to the specified number with automatic voiceover of
            specified
            text
          • startWithSound - method makes a call to the specified number with playback of .mp3 format file by
            URL.
        • Url - work with links for browsing telephony scope pages
          • get - 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 service Notify:

    • fromSystem - Sending system notification
    • fromPersonal - Sending personal notification
    • delete – Deleting notification
    • markAsRead - 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 buttons
    • answer – 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 to getId():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...
Read more

2.0-beta.2

12 Apr 06:46
b69341f
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2.0-beta.1...2.0-beta.2

1.3

18 Apr 20:15
8695780
Compare
Choose a tag to compare
1.3

What's Changed

New Contributors

2.0-beta.1

18 Feb 17:30
eda95ae
Compare
Choose a tag to compare

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
    added Bitrix24Account
  • 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 support
    • Bitrix24\SDK\Services\User\Service\User::fields - get user fields
    • Bitrix24\SDK\Services\User\Service\User::current - get current user
    • Bitrix24\SDK\Services\User\Service\User::add - add user
    • Bitrix24\SDK\Services\User\Service\User::get - get user
    • Bitrix24\SDK\Services\User\Service\User::update - update user
    • Bitrix24\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
    to Bitrix24\SDK\Core\Contracts\BatchOperationsInterface
  • Bitrix24\SDK\Services\Telephony\Requests\Events moved to separated namespaces:
    • from Bitrix24\SDK\Services\Telephony\Requests\Events\OnVoximplantCallInit
      to Bitrix24\SDK\Services\Telephony\Requests\Events\OnVoximplantCallInit\OnVoximplantCallInit
    • from Bitrix24\SDK\Services\Telephony\Requests\Events\OnVoximplantCallStart
      to Bitrix24\SDK\Services\Telephony\Requests\Events\OnVoximplantCallStart\OnVoximplantCallStart
    • from Bitrix24\SDK\Services\Telephony\Requests\Events\OnExternalCallStart
      to Bitrix24\SDK\Services\Telephony\Requests\Events\OnExternalCallStart\OnExternalCallStart
    • from Bitrix24\SDK\Services\Telephony\Requests\Events\OnVoximplantCallEnd
      to Bitrix24\SDK\Services\Telephony\Requests\Events\OnVoximplantCallEnd\OnVoximplantCallEnd
  • ❗Changes in Bitrix24\SDK\Application\Contracts\Bitrix24Account\Bitrix24AccountInterface:
    • method getContactPerson renamed to getContactPersonId
    • 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
  • ❗Changes in Bitrix24\SDK\Application\Contracts\Bitrix24Account\Bitrix24AccountRepositoryInterface:
    • method saveAccount renamed to save
    • method deleteAccount renamed to delete
    • method findAccountByMemberId renamed to findByMemberId
    • method getAccountByMemberId renamed to getByMemberId
    • method findAccountByContactPersonId renamed to findByContactPersonId
    • method findAccountByDomainUrl renamed to findByDomainUrl
    • add method findAllActive
    • add method findAllDeactivated

Bugfix

etc

  • move CLI entry point to bin/console

2.0-alpha.7

03 Sep 21:36
888c4a1
Compare
Choose a tag to compare

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 service Leads in scope «CRM» add Leads support
  • add in scope CRM new service Activity in scope «CRM» add Activity support
  • add in scope CRM for entity Deal method Services\CRM\Deal\Service\Batch::update batch update deals
  • add in scope CRM for entity Contact method Services\CRM\Contact\Service\Batch::delete batch delete contacts
  • add in scope CRM read models for activity Services\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
    and ONAPPUNINSTALL 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 service Placement\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 and operating_reset_at at Bitrix24\SDK\Core\Response\DTO\Time datastructures

Changed

  • update scope list расширить и актуализировать доступные скоупы
  • bump symfony/* to 6.* 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
    method CoreBuilder::withCredentials

Bugfix

etc

2.0-alpha.6

06 Feb 22:24
59905b0
Compare
Choose a tag to compare

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 parse curl_info network data structures for debug logs
    in Bitrix24\SDK\Core\Response::__destruct()
  • add /Infrastructure/HttpClient/TransportLayer/ResponseInfoParser for parse bitrix24_rest_api timing info for debug logs
    in Bitrix24\SDK\Core\Response::__destruct()
  • add Bitrix24\SDK\Core\BulkItemsReader for data-intensive applications for bulk export data from Bitrix24, read strategies located in
    folder ReadStrategies, 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 to 5.4.* version requirement.
  • switch symfony/http-client-contracts to ^2.5 version requirement.
  • switch symfony/event-dispatcher to 5.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

15 Jan 15:18
6efa494
Compare
Choose a tag to compare

1.2.2 (15.01.2022)

  • fix php version requirements again =(

1.2.1

15 Jan 14:59