Skip to content

Releases: bitrix24/b24phpsdk

1.8.0

09 Nov 20:53
165bf00

Choose a tag to compare

Added

  • Added service Services\CRM\Type\Service\Type with support methods,
    see crm.type.* methods:
    • fields method retrieves information about the custom fields of the smart process settings
    • add method creates a new SPA
    • update updates an existing SPA by its identifier id
    • get method retrieves information about the SPA with the identifier id
    • getByEntityTypeId method retrieves information about the SPA with the smart process type identifier entityTypeId
    • list Get a list of custom types crm.type.list
    • delete This method deletes an existing smart process by the identifier id
  • For AbstractCrmItem added method getSmartProcessItem to get smart process item, see details
  • Added support for events, see details
    • onCrmContactAdd
    • onCrmContactUpdate
    • onCrmContactDelete
  • Added separated methods RemoteEventsFactory::create and RemoteEventsFactory::validate for create and validate incoming
    events, see details
  • Added comprehensive unit tests for RemoteEventsFactory::create and RemoteEventsFactory::validate methods with 14 test cases covering:
    • Event creation for supported event types (CRM Contact Add, Application Install)
    • Handling of unsupported events
    • Request validation
    • Token validation with Bitrix24AccountInterface
    • Special handling for OnApplicationInstall events
  • Updated ContactPersonInterface implementation, see details with new methods:
    • Added isEmailVerified(): bool to check email verification status
    • Added isMobilePhoneVerified(): bool to check mobile phone verification status
    • Changed changeEmail(?string $email) signature (removed optional $isEmailVerified parameter)
    • Changed changeMobilePhone(?PhoneNumber $phoneNumber) signature (removed optional $isMobilePhoneVerified parameter)
    • Added getUserAgentInfo(): UserAgentInfo to replace separate methods for user agent data
  • Added comprehensive unit tests for UTMs class with 28 test cases covering:
    • Constructor with all, partial, and default parameters
    • URL parsing with various UTM parameter combinations
    • Case-insensitive parameter handling
    • URL encoding and special characters
    • Real-world URL examples (Google Ads, Facebook, Email, Twitter, LinkedIn, etc.)
  • Added comprehensive unit tests for UserAgentInfo class with 33 test cases covering:
    • Constructor with IP addresses (IPv4, IPv6, localhost)
    • Various user agent strings (Chrome, Firefox, Safari, Edge, mobile browsers)
    • UTM extraction from referrer URLs
    • Real-world scenarios with complete user tracking data
  • Added support for dynamic OAuth server selection based on regional endpoints:
    • Credentials class now supports Endpoints object with authServerUrl and clientUrl
    • New methods in Credentials: getEndpoints(), getOauthServerUrl(), getClientUrl(),
      changeDomainUrl(), see details
    • Endpoints class gained changeClientUrl() method to create new instance with updated client URL (immutable)
    • RenewedAuthToken gained getEndpoints() method to create Endpoints object from server response
    • CoreBuilder gained withEndpoints() and withOauthServerUrl() methods for explicit endpoint configuration
    • OAuth server URL is automatically extracted from server_endpoint field in API responses
    • Default OAuth server remains https://oauth.bitrix.info for backward compatibility
  • Added comprehensive unit tests for Endpoints class with 29 test cases covering:
    • Constructor validation for client and auth server URLs
    • getClientUrl() and getAuthServerUrl() methods
    • changeClientUrl() method with immutability checks
    • initFromArray() static factory method with validation
    • URL format validation (HTTP/HTTPS, ports, paths, subdomains)
    • Error handling for invalid URLs and missing required fields
    • Automatic addition of https:// protocol when missing from client URL
    • Added automatic protocol fallback in Endpoints constructor: if client URL is provided without protocol (e.g., example.bitrix24.com), https:// is automatically added

Changed

  • Breaking changes in ContactPersonInterface method signatures:
    • changeEmail(?string $email) - removed second parameter ?bool $isEmailVerified. Migration path: call markEmailAsVerified() separately after
      changeEmail() if email needs to be verified
    • changeMobilePhone(?PhoneNumber $phoneNumber) - removed second parameter ?bool $isMobilePhoneVerified. Migration path: call
      markMobilePhoneAsVerified() separately after changeMobilePhone() if phone needs to be verified
    • Replaced getUserAgent(), getUserAgentReferer(), getUserAgentIp() methods with single getUserAgentInfo(): UserAgentInfo method that returns
      complete user agent information object. Migration path: use $info->userAgent, $info->referrer, $info->ip properties instead
  • Updated RemoteEventsFactory::validate() method signature from validate(EventInterface $event, string $applicationToken) to
    validate(Bitrix24AccountInterface $bitrix24Account, EventInterface $event). Now uses Bitrix24AccountInterface::isApplicationTokenValid() for token
    validation instead of direct string comparison
  • Docker configuration updated to PHP 8.4 - Development environment now uses PHP 8.4.14 (docker/php-cli/Dockerfile):
    • Upgraded from PHP 8.3 to PHP 8.4 base image (php:8.4-cli-bookworm)
    • Updated Composer to version 2.8
    • Added PHP extension installer v2.4 from mlocati for easier extension management
    • Added new PHP extensions: amqp, excimer, opcache, pcntl, yaml, zip
    • Changed base OS from Alpine to Debian Bookworm for better compatibility
    • Implemented multi-stage Docker build for optimized image size
    • Added proper user/group ID mapping for www-data user (UID/GID 10001)
    • Set proper working directory ownership and non-root user execution
  • PHP 8.4 compatibility improvements:
    • Rector configuration updated to use LevelSetList::UP_TO_PHP_84 for PHP 8.4 feature detection
    • PHPUnit configuration updated to PHPUnit 11.0 attribute set (PHPUnitSetList::PHPUNIT_110)
    • Fixed all implicitly nullable parameter deprecation warnings (8 occurrences)
    • Fixed PHPStan internal errors with random_int() range handling
  • OAuth server selection made dynamic:
    • ApiClient now uses Credentials::getOauthServerUrl() instead of hardcoded constant
    • Core automatically updates endpoints in credentials when receiving renewed auth tokens
    • OAuth server URL is preserved and updated from server_endpoint in token refresh responses
    • Existing code continues to work without changes (backward compatible)

Fixed

  • Fixed wrong offset in ItemsResult see details
  • Fixed wrong exception for method crm.item.get, now it ItemNotFoundException see details
  • Fixed added type project in enum PortalLicenseFamily see details
  • Fixed errors in ContactPersonRepositoryInterfaceTest, see details
  • Breaking change: Fixed method signature Credentials::createFromOAuth() - third parameter changed from string $domainUrl to Endpoints $endpoints
    object
    • Migration: Replace Credentials::createFromOAuth($authToken, $appProfile, 'https://example.com') with
      Credentials::createFromOAuth($authToken, $appProfile, new Endpoints('https://example.com', 'https://oauth.bitrix.info/'))
    • Updated all unit and integration tests to use new signature
  • Fixed bug in Endpoints class constructor (line 35) - validation should check $this->authServerUrl instead of $authServerUrl parameter
  • Fixed unit tests in CredentialsTest.php to properly instantiate Endpoints objects
  • Fixed unit tests in CoreTest.php integration test to use Endpoints object

Deprecated

  • Method RemoteEventsFactory::createEvent marked as deprecated, use RemoteEventsFactory::create and RemoteEventsFactory::validate instead

Statistics

Bitrix24 API-methods count: 1162
Supported in bitrix24-php-sdk methods count: 639
Coverage percentage: 54.99% 🚀
Supported in bitrix24-php-sdk methods with batch wrapper count: 91

New Contributors

1.7.0

08 Oct 10:32
6933443

Choose a tag to compare

Added

  • Added service Services\Sale\Delivery\Service\Delivery with support methods,
    see sale.delivery.* methods:
    • add adds a delivery service
    • update updates a delivery service
    • getlist returns a list of delivery services
    • delete deletes a delivery service
    • configUpdate updates delivery service settings
    • configGet returns delivery service settings
  • Added service Services\Sale\DeliveryRequest\Service\DeliveryRequest with support methods,
    see sale.delivery.request.* methods:
    • update updates the delivery request
    • sendMessage creates notifications for the delivery request
    • delete deletes the delivery request
  • Added service Services\Sale\DeliveryExtraService\Service\DeliveryExtraService with support methods,
    see sale.delivery.extra.service.* methods:
    • add adds a delivery service
    • update updates a delivery service
    • get returns information about all services of a specific delivery service
    • delete deletes a delivery service
  • Added service Services\Sale\DeliveryHandler\Service\DeliveryHandler with support methods,
    see sale.delivery.handler.* methods:
    • add adds a delivery service handler
    • update updates the delivery service handler
    • list returns a list of delivery service handlers
    • delete deletes a delivery service handler
  • Added service Services\Disk\Service\Disk with support methods,
    see disk service methods:
    • getVersion returns the version by identifier
    • getAttachedObject returns information about the attached file
    • getRightsTasks returns a list of available access levels that can be used for assigning permissions
  • Added service Services\Disk\Storage\Service\Storage with support methods,
    see disk.storage.* methods:
    • fields returns the description of the storage fields
    • get returns the storage by identifier
    • rename renames the storage
    • list returns a list of available storages
    • getTypes returns a list of storage types
    • addFolder creates a folder in the root of the storage
    • getChildren returns a list of files and folders in the root of the storage
    • uploadFile uploads a new file to the root of the storage
    • getForApp returns the description of the storage that the application can work with
  • Added service Services\Disk\Folder\Service\Folder with support methods,
    see disk.folder.* methods:
    • getFields returns the description of folder fields
    • get returns the folder by identifier
    • getChildren returns a list of files and folders that are directly in the folder
    • addSubfolder creates a subfolder
    • copyTo copies the folder to the specified folder
    • moveTo moves the folder to the specified folder
    • rename renames the folder
    • markDeleted moves the folder to the trash
    • restore restores the folder from the trash
    • deleteTree permanently destroys the folder and all its child elements
    • getExternalLink returns a public link
    • uploadFile uploads a new file to the specified folder
  • Added service Services\Disk\File\Service\File with support methods,
    see disk.file.* methods:
    • getFields returns the description of file fields
    • get returns the file by identifier
    • rename renames the file
    • copyTo copies the file to the specified folder
    • moveTo moves the file to the specified folder
    • delete permanently destroys the file
    • markDeleted moves the file to the trash
    • restore restores the file from the trash
    • uploadVersion uploads a new version of the file
    • getVersions returns a list of file versions
    • restoreFromVersion restores the file from a specific version
    • getExternalLink returns a public link to the file
  • Added service Services\CRM\Documentgenerator\Numerator with support methods,
    see crm.documentgenerator.numerator.* methods:
    • add adds a new numerator, with batch calls support
    • list gets the list of numerators, with batch calls support
    • update updates an existing numbering with new values, with batch calls support
    • delete deletes a numerator, with batch calls support
    • get gets information about the numerator by its identifier
    • count count numerators
  • Added service Services\Paysystem\Handler\Service\Handler with support methods,
    see pay_system.handler.* methods:
    • add adds a payment system handler
    • update updates a payment system handler
    • list returns a list of payment system handlers
    • delete deletes a payment system handler
  • Added service Services\Paysystem\Service\Paysystem with support methods,
    see sale.paysystem.* methods:
    • add adds a payment system
    • update updates a payment system
    • get returns a payment system by its identifier
    • list returns a list of payment systems
    • delete deletes a payment system
    • payPayment pays a payment
    • payInvoice pays an invoice (legacy version)
  • Added service Services\Paysystem\Settings\Service\Settings with support methods,
    see sale.paysystem.settings.* methods:
    • get returns the settings of the payment system
    • update updates the payment system settings
    • getForPayment returns the payment system settings for a specific payment
    • getForInvoice returns the payment system settings for a specific invoice (legacy version)
  • Added service Services\Sale\Shipment\Service\Shipment with support methods,
    see sale.shipment.* methods:
    • add adds a shipment
    • update updates the fields of a shipment
    • get returns a shipment by its identifier
    • list returns a list of shipments
    • delete deletes a shipment
    • getFields returns the fields and settings for shipments
  • Added service Services\Sale\ShipmentProperty\Service\ShipmentProperty with support methods,
    see sale.shipmentproperty.* methods:
    • add adds a shipment property
    • update updates the fields of a shipment property
    • get returns a shipment property by its identifier
    • list returns a list of shipment properties
    • delete deletes a shipment property
    • getFieldsByType returns the fields and settings for shipment properties by type
  • Added service Services\Sale\ShipmentPropertyValue\Service\ShipmentPropertyValue with support methods,
    see sale.shipmentpropertyvalue.* methods:
    • modify updates shipment property values for a shipment
    • get returns a shipment property value by its identifier
    • list returns a list of shipment property values
    • delete deletes a shipment property value
    • getFields returns the fields and settings for shipment property values
  • Added service Services\Sale\ShipmentItem\Service\ShipmentItem with support methods,
    see sale.shipmentitem.* methods:
    • add adds a new shipment item
    • update updates the fields of a shipment item
    • get returns a shipment item by its identifier
    • list returns a list of shipment items
    • delete deletes a shipment item
    • getFields returns the fields and settings for shipment items
  • Added service Services\Sale\Payment\Service\Payment with support methods,
    see sale.payment.* methods:
    • add adds a payment
    • update updates the fields of a payment
    • get returns a payment by its identifier
    • list returns a list of payments
    • delete deletes a payment
    • getFields returns the fields and settings for payments
  • Added service Services\Sale\CashboxHandler\Service\CashboxHandler with support methods,
    see sale.cashbox.handler.* methods:
    • add adds a REST cashbox handler
    • update updates the data of the REST cashbox handler
    • list returns a list of available REST cashbox handlers
    • delete deletes the REST cashbox handler
  • Added service Services\Sale\Cashbox\Service\Cashbox with support methods,
    see sale.cashbox.* methods:
    • add adds a new cash register
    • update updates an existing cash register
    • list returns a list of configured cash registers
    • delete deletes a cash register
    • checkApply saves the result of printing the receipt
  • Added service Services\Calendar\Service\Calendar with support methods,
    see calendar.* methods:
    • add adds a new calendar section
    • update updates a calendar section
    • get returns a list of calendar sections
    • delete deletes a calendar section
    • getSettings returns main calendar settings
    • getUserSettings returns user calendar settings
    • setUserSettings sets user calendar settings
  • Added support for events:
    • OnCalendarSectionAdd
    • OnCalendarSectionUpdate
    • `OnCale...
Read more

1.6.0

02 Sep 20:50
8554300

Choose a tag to compare

1.6.0 – 2025.09.01

Added

  • Added service Services\Sale\Order\Service\Order with support methods,
    see sale.order.* methods:
    • add adds an order, with batch calls support
    • update modifies an order, with batch calls support
    • get returns order fields and fields of related objects
    • list returns a list of orders, with batch calls support
    • delete deletes an order and related objects, with batch calls support
    • getFields returns order fields
  • Added service Services\Sale\PropertyVariant\Service\PropertyVariant with support methods,
    see sale.propertyvariant.* methods:
    • add adds a variant of an order property
    • update updates the fields of a property variant
    • get returns the value of a property variant by its identifier
    • list returns a list of property variants
    • delete deletes a property variant
    • getFields returns the fields and settings of property variants
  • Added service Services\Sale\Property\Service\Property with support methods,
    see sale.property.* methods:
    • add adds a new order property
    • update updates the fields of an order property
    • get returns an order property by ID
    • list returns a list of order properties
    • delete deletes an order property
    • getFieldsByType returns the fields and settings of order properties by type
  • Added service Services\Sale\PropertyGroup\Service\PropertyGroup with support methods,
    see sale.propertygroup.* methods:
    • add adds a new property group
    • update updates a property group
    • get returns a property group by id
    • list returns a list of property groups
    • delete deletes a property group
    • getFields returns available fields for property groups
  • Added service Services\Sale\Status\Service\Status with support methods,
    see sale.status.* methods:
    • add adds a new status
    • update updates an existing status
    • get returns information about a status by ID
    • list returns a list of statuses with filtering and sorting options
    • delete deletes a status
    • getFields returns available fields for statuses
  • Added service Services\Sale\StatusLang\Service\StatusLang with support methods,
    see sale.statusLang.* methods:
    • getListLangs returns list of available languages
    • add adds a new status language
    • list returns a list of status languages with filtering and sorting options
    • deleteByFilter deletes status languages by filter
    • getFields returns available fields for status languages
  • Added service Services\Sale\PersonTypeStatus\Service\PersonTypeStatus with support methods,
    see sale.businessValuePersonDomain.* methods:
    • add adds business value for person domain
    • list retrieves list of business values for person domain
    • delete deletes business values by filter
    • getFields gets fields description for business value person domain
  • Added service Services\Task\Service\Task with support methods,
    see tasks.task.* methods:
    • add creates a task, with batch calls support
    • update updates a task, with batch calls support
    • list retrieves a list of tasks, with batch calls support
    • delete deletes a task, with batch calls support
    • fields retrieves available fields
    • get retrieves information about a task by id
    • delegate delegates tasks
    • start changes the task status to "in progress"
    • pause stops task execution and changes status to "waiting for execution"
    • defer changes the task status to "deferred"
    • complete changes the task status to "completed"
    • renew renews a task after it has been completed
    • approve approves a task
    • disapprove rejects a task
    • startwatch allows watching a task
    • stopwatch stops watching a task
    • mute enables "Mute" mode
    • unmute disables "Mute" mode
    • addFavorite adds tasks to favorites
    • removeFavorite removes tasks from favorites
    • getCounters retrieves user counters
    • getAccess checks access to a task
    • addDependence creates a dependency of one task on another
    • deleteDependence deletes a dependency of one task on another
    • historyList retrieves task history
  • Added support for events:
    • OnTaskAdd
    • OnTaskUpdate
    • OnTaskDelete
  • Added service Services\Task\TaskResult\Service\Result with support methods:
    • addFromComment adds a comment to the result
    • deleteFromComment deletes a comment from the task result
    • list retrieves a list of task results
  • Added service Services\Task\Checklistitem\Service\Checklistitem with support methods:
    • add adds a new checklist item to a task
    • update updates the data of a checklist item
    • delete deletes a checklist item
    • get retrieves a checklist item by its id
    • getList retrieves a list of checklist items in a task
    • moveAfterItem retrieves a list of checklist items in a task
    • complete marks a checklist item as completed
    • renew marks a completed checklist item as active again
    • isActionAllowed checks if the action is allowed for the checklist item
    • getManifest retrieves the list of methods and their descriptions
  • Added service Services\Task\Commentitem\Service\Commentitem with support methods:
    • add creates a new comment for a task
    • update updates the comment data
    • delete deletes a comment
    • get retrieves a comment for a task
    • getList retrieves a list of comments for a task
  • Added service Services\Task\Elapseditem\Service\Elapseditem with support methods:
    • add adds time spent to a task
    • update updates the parameters of the time tracking record
    • delete deletes a time tracking record
    • get retrieves a time tracking record by its identifier
    • getList retrieves a list of time tracking records for a task
    • isActionAllowed checks if the action is allowed
    • getManifest retrieves the list of methods and their descriptions
  • Added service Services\Task\Userfield\Service\Userfield with support methods:
    • add creates a new field
    • get retrieves a field by its identifier
    • getList retrieves a list of fields
    • delete deletes a field
    • update updates the parameters of the field
    • getTypes retrieves all available data types
    • getFields retrieves all available fields of the custom field
  • Added service Services\Task\Stage\Service\Stage with support methods:
    • add adds stages to kanban or "My Planner"
    • get retrieves stages of kanban or "My Planner"
    • delete deletes stages of kanban or "My Planner"
    • update updates stages of kanban or "My Planner"
    • canMoveTask determines if the current user can move tasks in the specified object
    • moveTask moves tasks from one stage to another
  • Added service Services\Task\Planner\Service\Planner with support methods:
    • getList retrieves a list of tasks from "The Daily Planner"
  • Added service Services\Task\Flow\Service\Flow with support methods:
    • add creates a flow
    • get retrieves a flow
    • delete deletes a flow
    • update modifies a flow
    • isExists checks if a flow with that name exists
    • activate turns a flow on or off
    • pin pins or unpins a flow in the list
  • Added service Services\Log\BlogPost\Service\BlogPost with support method:
    • add - Add new blog post to Live Feed with support for all parameters (title, destination, files, importance, etc.)
  • Added method User::countByFilter see details

Fixed

  • Fixed typehints in the ApplicationInfo method see details

Changed

  • Added optional argument in method Bitrix24AccountRepositoryInterface::findByMemberId see details
  • Changed method name ApplicationInstallationRepositoryInterface::findByMemberId to
    ApplicationInstallationRepositoryInterface::findByBitrix24AccountMemberId see details

Statistics

Bitrix24 API-methods count: 1160
Supported in bitrix24-php-sdk methods count: 476
Coverage percentage: 41.03% 🚀

New Contributors

1.5.0

30 Jul 18:31
7a8be99

Choose a tag to compare

Added

  • Added service Services\Entity\Section\Service\Section with support methods,
    see crm.entity.section.* methods:
    • get retrieve a list of storage sections, with batch calls support
    • add add a storage section, with batch calls support
    • update update a storage section, with batch calls support
    • delete delete a storage section, with batch calls support
  • Added service Services\Entity\Item\Property\Service\Property with support methods:
    • get retrieve a list of additional properties of storage elements, with batch calls support
    • add add an additional property to storage elements, with batch calls support
    • update update an additional property of storage elements, with batch calls support
    • delete delete an additional property of storage elements, with batch calls support
  • Added service Services\Department\Service\Department with support methods,
    see department.* methods:
    • fields gets the department fields reference
    • get retrieves a list of departments, with batch calls support
    • add creates a department, with batch calls support
    • delete deletes a department, with batch calls support
    • update modifies a department, with batch calls support
    • countByFilter count departments by filter
  • Added service CRM\Requisites\Service\RequisiteUserfield with support methods,
    see add crm.requisite.userfield.* methods:
    • add add userfield to requisite
    • get get userfield to requisite
    • list list userfields
    • delete delete userfield
    • update update userfield
  • Added service CRM\Requisites\Service\RequisiteBankdetail with support methods:
    • add add bank detail to requisite
    • get get bank detail to requisite
    • fields get fields for bank details
    • list list bank details
    • delete delete bank detail
    • update update bank detail
    • countByFilter count bank details by filter
  • Added service CRM\Requisites\Service\RequisiteLink with support methods:
    • register registers the link between requisites and an object
    • unregister removes the link between requisites and an object
    • fields get a formal description of the fields of the requisites link
    • get returns the link between requisites and an object
    • list returns a list of links between requisites based on a filter
    • countByFilter count links by filter
  • Added service CRM\Requisites\Service\RequisitePresetField with support methods:
    • add adds a customizable field to the requisites template
    • get returns the description of the custom field in the requisites template by identifier
    • fields returns the description of the custom field in the requisites template by identifier
    • list returns a list of all custom fields for a specific requisites template
    • delete deletes a customizable field from the requisites template
    • update modifies a custom field in the requisites template
    • availabletoadd returns fields available for addition to the specified requisites template
  • Added service Services\CRM\Status\Service\Status with support methods,
    see crm.status.* methods:
    • fields returns descriptions of reference book fields
    • get returns an element of the reference book by its identifier
    • list returns a list of elements of the reference book by filter, with batch calls support
    • add creates a new element in the specified reference book, with batch calls support
    • delete deletes an element from the reference book, with batch calls support
    • update updates an existing element of the reference book, with batch calls support
    • countByFilter counts elements of the reference book by filter
  • Added service Services\CRM\Status\Service\StatusEntity with support methods,
    • items returns elements of the reference book by its symbolic identifier
    • types returns descriptions of reference book types
  • Added service Services\CRM\Timeline\Service\Comment with support methods,
    see crm.timeline.comment.* methods:
    • fields retrieves a list of timeline comment fields
    • get retrieves information about a comment
    • list retrieves a list of all comments for a CRM entity, with batch calls support
    • add adds a new comment to the timeline, with batch calls support
    • delete deletes a comment, with batch calls support
    • update updates a comment, with batch calls support
    • countByFilter count comments by filter
  • Added support for events:
    • OnCrmTimelineCommentAdd
    • OnCrmTimelineCommentDelete
    • OnCrmTimelineCommentUpdate
  • Added service Services\CRM\Timeline\Service\Bindings with support methods:
    • fields retrieves the fields of the link between CRM entities and the timeline record
    • list retrieves a list of links for a timeline record, with batch calls support
    • bind adds a link between a timeline record and a CRM entity, with batch calls support
    • unbind removes a link between a timeline record and a CRM entity, with batch calls support
    • countByFilter count links between a timeline record and CRM entities by filter
  • Added service Services\CRM\Item\Productrow\Service\Productrow with support methods,
    see crm.item.productrow.* methods:
    • fields retrieves a list of product item fields
    • set associates a product item with a CRM object
    • get retrieves information about a product item by id
    • list retrieves a list of product items, with batch calls support
    • add adds a product item, with batch calls support
    • delete deletes a product item, with batch calls support
    • update updates a product item
    • getAvailableForPayment retrieves a list of unpaid products
    • countByFilter counts product items by filter

Fixed

  • Fixed typehints in Contact batch for method add, see details

Changed

  • Fixed constructor arguments in tests ApplicationInstallations see details
  • Bump giggsey/libphonenumber-for-php version to ^8|^9

Statistics

Bitrix24 API-methods count: 1166
Supported in bitrix24-php-sdk methods count: 362
Coverage percentage: 31.05%

1.4.0

29 Jun 21:00
a32fb34

Choose a tag to compare

Added

  • Added service Services\CRM\Lead\Service\LeadContact with support methods,
    see crm.lead.contact.* methods:
    • fields get fiels for lead contact connection
    • setItems set contacts related with lead
    • get get contacts related to lead
    • deleteItems delete all relations for lead
    • add add contact relation with lead
    • delete delete contact relation with lead
  • Added service CRM\Item\Service\ItemDetailsConfiguration with support methods,
    see add crm.item.details.* methods:
    • getPersonal method retrieves the settings of item cards for personal user
    • getGeneral method retrieves the settings of item cards for all users
    • resetPersonal method reset for item user settings
    • resetGeneral method reset all card settings for all users
    • setPersonal method set card configuration
    • setGeneral method set card configuration for all users
    • setForceCommonConfigForAll method set common detail form for All Users
  • Added service CRM\Deal\Service\DealDetailsConfiguration with support methods,
    see add crm.deal.details.* methods:
    • getPersonal method retrieves the settings of deal cards for personal user
    • getGeneral method retrieves the settings of deal cards for all users
    • resetPersonal method reset for item user settings
    • resetGeneral method reset all card settings for all users
    • setPersonal method set card configuration
    • setGeneral method set card configuration for all users
    • setForceCommonConfigForAll method set common detail form for All Users
  • Added service CRM\Lead\Service\LeadDetailsConfiguration with support methods,
    see add crm.lead.details.* methods:
    • getPersonal method retrieves the settings of lead cards for personal user
    • getGeneral method retrieves the settings of lead cards for all users
    • resetPersonal method reset for item user settings
    • resetGeneral method reset all card settings for all users
    • setPersonal method set card configuration
    • setGeneral method set card configuration for all users
    • setForceCommonConfigForAll method set common detail form for All Users
  • Added service Services\CRM\Lead\Service\LeadProductRows with support methods,
    see add crm.lead.productrows* methods:
    • set Adds products to a lead
    • get Returns the products of a lead
  • Added service Services\CRM\Quote\Service\Quote with support methods,
    see crm.quote.* methods:
    • fields returns a list of fields for the quote
    • get returns the settings of the quote by Id
    • list returns a list of quote
    • add creates a new quote
    • delete deletes a quote
    • update modifies the quote
    • countByFilter count quotes by filter
  • Added support for events:
    • OnCrmQuoteAdd
    • OnCrmQuoteDelete
    • OnCrmQuoteUpdate
    • OnCrmQuoteUserFieldAdd
    • OnCrmQuoteUserFieldDelete
    • OnCrmQuoteUserFieldSetEnumValues
    • OnCrmQuoteUserFieldUpdate
  • Added service Services\CRM\Quote\Service\QuoteUserfield with support methods:
    • add add userfield to a quote
    • get get userfield to a quote
    • list list userfields
    • delete delete userfield
    • update update userfield
  • Added service Services\CRM\Quote\Service\QuoteProductRows with support methods:
    • set Adds products to a quote
    • get Returns the products of a quote
  • Added service Services\CRM\Quote\Service\QuoteContact with support methods,
    • fields get fiels for quote contact connection
    • setItems set contacts related with quote
    • get get contacts related to quote
    • deleteItems delete all relations for quote
    • add add contact relation with quote
    • delete delete contact relation with quote
  • Added service CRM\Lead\Service\LeadUserfield with support methods,
    see add crm.lead.userfield.* methods:
    • add add userfield to lead
    • get get userfield to lead
    • list list userfields
    • delete delete userfield
    • update update userfield
  • Added service Services\CRM\Deal\Service\DealRecurring with support methods,
    see crm.deal.recurring.* methods:
    • fields returns a list of fields for the recurring deal template
    • get returns the settings of the recurring deal template by Id
    • list returns a list of recurring deal templates
    • add creates a new recurring deal template
    • delete deletes a recurring deal template
    • update modifies the settings of the recurring deal template
    • expose creates a new deal based on the template
  • Added service Services\CRM\Automation\Service\Trigger with support methods,
    see add crm.automation.trigger* methods:
    • add add new trigger, with batch calls support
    • delete delete trigger, with batch calls support
    • list get list of triggers, with batch calls support
    • execute execute trigger, with batch calls support
  • Added service Services\CRM\Currency with support methods,
    see Add crm.currency.* methods:
    • get get currency
    • fields get currency fields
    • list get currency list
    • add add new currency, with batch calls support
    • delete delete currency, with batch calls support
    • update update currency, with batch calls support
  • Added service Services\CRM\Currency\Localizations with support methods,
    see Add crm.currency.* methods:
    • set set localizations, with batch calls support
    • get get localizations
    • fields get localization fields
    • delete delete currency, with batch calls support
  • Added service Services\CRM\Address\Service\Address with support methods,
    see add crm.address REST methods:
    • list get item list
    • add add new item, with batch calls support
    • delete delete item, with batch calls support
    • update update item, with batch calls support
  • Added enum Services\CRM\Enum\OwnerType
  • Developer experience: added make command lint-all for run all code linters step by step, see details

Fixed

  • Fixed error in arguments in service for method placement.bind, see details
  • Fixed errors in task.elapseditem.* call in ApiClient see details

Changed

  • Changed B24-PHP-SDK useragent: added prefix vendor, see details
  • ️️BC Changed contract Bitrix24\SDK\Application\Contracts\Bitrix24Accounts\Entity\Bitrix24AccountInterface, this change needs to process corner cases
    when installed application with UI or without UI:
    • changed method public function applicationInstalled(?string $applicationToken): void application token now is nullable
    • added method public function setApplicationToken(string $applicationToken): void;
  • ️️BC Changed contract Bitrix24\SDK\Application\Contracts\Bitrix24Accounts\Entity\Bitrix24AccountInterface, this change needs to process corner cases
    when we need to store multiple accounts from one Bitrix24 portal.
    • added method isMasterAccount
  • ️️BC Changed contract Bitrix24\SDK\Application\Contracts\ApplicationInstallations\Entity\ApplicationInstallationInterface, this change needs to process
    corner cases when installed application with UI or without UI.
    • added method setApplicationToken
    • added method isApplicationTokenValid
    • changed method public function applicationInstalled(?string $applicationToken): void application token now is nullable
    • changed method public function applicationUninstalled(?string $applicationToken): void application token now is nullable
    • added method linkContactPerson(Uuid $uuid), see change signatures.
    • added method linkBitrix24Partner(), see change signatures.
    • added method unlinkBitrix24Partner(), see change signatures.
    • added method unlinkContactPerson(), see change signatures.
    • added method linkBitrix24PartnerContactPerson(), see change signatures.
    • added method unlinkBitrix24PartnerContactPerson(), see change signatures.
    • remove method changeContactPerson(?Uuid $uuid), see change signatures.
    • remove method changeBitrix24Partner(?Uuid $uuid), see change signatures.
    • remove method changeBitrix24PartnerContactPerson(?Uuid $uuid), see change signatures.
  • ️️BC Changed contract `Bitrix24\SDK\Application\Contracts\ApplicationInstallations\Repository\ApplicationInstallationRepositoryInterface...
Read more

1.3.0

22 Apr 19:27
bf1cb0c

Choose a tag to compare

Added

  • Added PHP 8.4 support 🚀
  • Added method Bitrix24\SDK\Services\Main\Service::guardValidateCurrentAuthToken for validate current auth token with
    api-call app.info on vendor OAUTH server.
  • Added support new scope entity
  • Added service Services\Entity\Service\Item with support methods,
    see fix entity.item.* methods:
    • get get item, with batch calls support
    • add add new item, with batch calls support
    • delete delete item, with batch calls support
    • update update item, with batch calls support
  • Added service Services\Entity\Service\Entity with support methods,
    see fix entity.* methods:
    • get get entity
    • add add new entity
    • delete delete entity
    • update update entity
    • rights get or change access permissions
  • Added new application scope nodes humanresources.hcmlink and sign.b2e
  • Added method Bitrix24\SDK\Core\Credentials\Scope::contains for check is current scope code contains in scope, for
    task «split cli commands»
  • Added method Bitrix24\SDK\Core\Credentials\Scope::getAvailableScopeCodes returned all available scope codes, for
    task «split cli commands»
  • Added service Services\CRM\VatRates\Service\Vat with support methods,
    see add crm.vat.* methods:
    • get get vat rate by id
    • add add new vat rate
    • delete delete vat rate
    • list get list of vat rates
    • update update vat rate
  • Added service Services\CRM\Contact\Service\ContactCompany with support methods,
    see crm.contact.company.* methods:
    • fields get fields for contact with company connection
    • setItems set companies related with contact
    • get get companies related with contact
    • deleteItems delete all relations for contact
    • add add company relation with contact
    • delete delete company relation with contact
  • Added service Services\CRM\Requisites\Service\Requisite with support methods,
    see crm.requisite.* methods:
    • fields get fields for requisite item
    • list get requisites list
    • get returns a requisite by the requisite id
    • add add requisite
    • delete delete requisite and related objects
    • update delete requisite
  • Added service Services\CRM\Requisites\Service\RequisitePreset with support methods,
    see crm.requisite.preset.* methods:
    • fields get fields for requisite item
    • list get requisites list
    • get returns a requisite by the requisite id
    • add add requisite
    • countries get countries list
    • delete delete requisite and related objects
    • update delete requisite
  • Added batch service Bitrix24\SDK\Services\User\Service\Batch
    with support methods:
    • add add (invite) users
    • get get users list
      Added service Services\AI\Engine\Service\Engine with support methods:
    • ai.engine.register - method registers an engine and updates it upon subsequent calls
    • ai.engine.list - get the list of ai services
    • ai.engine.unregister - Delete registered ai service
      Added class Bitrix24\SDK\Core\Exceptions\LogicException for logic exceptions
  • Developer experience: added cli command b24-dev:show-sdk-coverage-statistics for show actual SDK coverage for
    REST-API, see task «split cli commands»
  • Developer experience: added class Bitrix24\SDK\Deprecations\DeprecatedMethods with list of
    all deprecated methods
  • Developer experience: commands from makefile now run inside docker container php-cli
  • Developer experience: added cache folder in phpstan config
  • Developer experience: added article «How to Contribute to Bitrix24 PHP SDK»

Changed

  • Added nullable argument $scope in method Bitrix24\SDK\Attributes\Services::getSupportedInSdkApiMethods,
    for task «split cli commands»
  • Added class Bitrix24\SDK\Core\Exceptions\LogicException for logic exceptions,
    for task «fix contract tests»
  • Changed method signature Bitrix24\SDK\Application\Contracts\Bitrix24Accounts\Entity::updateApplicationVersion, for
    task «add bitrixUserId and AuthToken»
  • Developer experience: webhook example moved to
    repository bitrix24/b24sdk-examples

Fixed

  • Fixed errors in Bitrix24\SDK\Core\Batch for method
    user.get, see details
  • Fixed errors in Bitrix24\SDK\Core\Batch for methods entity.item.get and
    entity.item.update, see details
  • Fixed errors in Bitrix24\SDK\Core\ApiClient for methods with strict arguments
    order, see details
  • Fixed errors in ApplicationInstallationRepositoryInterfaceTest for work with storage see details
  • Fixed errors in Bitrix24AccountInterfaceTest, remove some arguments in constructor

Security

  • Added method Bitrix24\SDK\Services\Main\Service::guardValidateCurrentAuthToken for validate current auth token with
    api-call app.info on vendor OAUTH server. You can validate incoming tokens from placements and events

Removed

Statistics

Bitrix24 API-methods count: 1146
Supported in bitrix24-php-sdk methods count: 227
Coverage percentage: 19.81% 🚀
Supported in bitrix24-php-sdk methods with batch wrapper count: 29

New Contributors

1.2.0

04 Dec 19:41
67d8b0c

Choose a tag to compare

Added

  • Added service CRM\Company\Service with support methods, see add crm.company.* methods:
    • get get company by id
    • add add new company with batch support
    • delete delete company by id with batch support
    • list get list of companies with batch support
    • update update companies with batch support
    • countByFilter count companies count with filter
  • Added service CRM\Company\Service\CompanyUserfield with support methods, see add crm.company.* methods:
    • add add userfield to company
    • get get userfield to company
    • list list userfields
    • delete delete userfield
    • update update userfield
  • Added service CRM\Company\Service\CompanyCompanyContact with support methods, see add crm.company.* methods:
    • fields get fiels for company contact connection
    • setItems set contacts related with company
    • get get contacts related to company
    • deleteItems delete all relations for company
    • add add contact relation with company
    • delete delete contact relation with company
  • Added service CRM\Company\Service\CompanyDetailsConfiguration with support methods, see add crm.company.* methods:
    • getPersonal method retrieves the settings of company cards for personal user
    • getGeneral method retrieves the settings of company cards for all users
    • resetPersonal method reset for item user settings
    • resetGeneral method reset all card settings for all users
    • setPersonal method set card configuration
    • setGeneral method set card configuration for all company
    • setForceCommonConfigForAll method set common detail form for All Users
  • Added support for events:
    • OnCrmCompanyAdd
    • OnCrmCompanyDelete
    • OnCrmCompanyUpdate
    • OnCrmCompanyUserFieldAdd
    • OnCrmCompanyUserFieldDelete
    • OnCrmCompanyUserFieldSetEnumValues
    • OnCrmCompanyUserFieldUpdate
  • Added service CRM\Enum\Service\Enum with support methods:
    • activityStatus
    • activityNotifyType
    • activityPriority
    • activityDirection
    • activityType
    • addressType
    • contentType
    • orderOwnerTypes
    • settingsMode
    • fields
    • ownerType
  • Added enums:
    • Bitrix24\SDK\Services\CRM\Enum\AddressType
    • Bitrix24\SDK\Services\CRM\Enum\ContentType
    • Bitrix24\SDK\Services\CRM\Enum\CrmSettingsMode
  • Added methods for filtration entity fields in Bitrix24\SDK\Core\Fields\FieldsFilter:
    • Bitrix24\SDK\Core\Fields\FieldsFilter::filterUserFields
    • Bitrix24\SDK\Core\Fields\FieldsFilter::filterSmartProcessFields
  • Added method Bitrix24AccountRepositoryInterface::findByApplicationToken in contracts for
    support «Delete Application» use case
  • Added Bitrix24\SDK\Application\Contracts\Bitrix24Accounts\Exceptions\MultipleBitrix24AccountsFoundException
  • Added nullable comments in events Bitrix24AccountBlockedEvent and Bitrix24AccountUnblockedEvent,
    see add comment to events.
  • Add result type Bitrix24\SDK\Services\CRM\Common\Result\SystemFields\Types\File
  • Add exception Bitrix24\SDK\Core\Exceptions\ItemNotFoundException
  • In ApiLevelErrorHandler added processing API response error_not_found error code.
  • Added fields for Bitrix24\SDK\Services\CRM\Deal\Result\DealItemResult:
    • int|null $ASSIGNED_BY_ID
    • array|null $CONTACT_IDS
    • int|null $CREATED_BY_ID
    • CarbonImmutable $DATE_CREATE
    • CarbonImmutable $DATE_MODIFY
    • int|null $LAST_ACTIVITY_BY
    • CarbonImmutable $LAST_ACTIVITY_TIME
    • int|null $MODIFY_BY_ID
    • int|null $MOVED_BY_ID
    • CarbonImmutable $MOVED_TIME
  • Added service Bitrix24\SDK\Services\CRM\Userfield\Service\UserfieldConstraints for check userfield naming rules.
  • Developer experience: added example /examples/local-app-workflows for demonstrate work
    with workflows.
  • Developer experience: added cli make command make dev-show-fields-description for show typehints for methods arguments from bitrix24 types from *.fields method
  • Developer experience: added in CI pipeline check for allowed licenses in composer package dependencies: only MIT,
    BSD-3-Clause, Apache.
  • Developer experience: added in CI pipeline unit-tests on Windows Server 2022 in GitHub actions and updated
    installation instructions for Windows-based systems.
  • Developer experience: start move make commands to docker
  • Developer experience: added attribute Bitrix24\SDK\Attributes\ApiServiceBuilderMetadata for document service builders per scope
  • Developer experience: added trait with asserts Bitrix24\SDK\Tests\CustomAssertions\CustomBitrix24Assertions for additional checks in php-unit with methods:
    • assertBitrix24AllResultItemFieldsAnnotated - for check phpdoc annotations and result of *.fields command
    • assertBitrix24AllResultItemFieldsHasValidTypeAnnotation - for check phpdoc annotations and bitrix24 custom types
      mapping
  • Developer experience: added file .gitattributes with config to export data when you use composer flags
    --prefer-source and --prefer-dist
  • Developer experience: start use PhpCsFixer in some project folders.

Changed

  • Added nullable argument bitrix24UserId in method Bitrix24AccountRepositoryInterface::findByMemberId in contracts
    for support use case «RenewAuthToken»
  • Developer experience: moved CLI-command GenerateCoverageDocumentationCommand to namespace
    Bitrix24\SDK\Infrastructure\Console\Commands\Documentation

Fixed

  • Fixed errors in Bitrix24\SDK\Services\Workflows\Common\WorkflowDocumentId, see parsing errors.
  • Fixed the problem with mismatch Deals fields in API and SDK, see Increasing code coverage with annotations.
  • Fixed error in Bitrix24\SDK\Core\Fields\FieldsFilter::filterSystemFields, see filtration errors.
  • Fixed error in contract tests design, see bitrix24AccountRepositoryInterface has problem with contract tests design - can't add flusher.
  • Fixed error in bitrix24 account contract test data provider, see incorrect data in data provider.
  • ❗️BC Fixed typehints and return types in ActivityItemResult, ContactItemResult, see wrong type hints in ActivityItemResult
  • Fixed error in method Bitrix24\SDK\Core\Fields\FieldsFilter::filterSystemFields for product user fields case.
  • ❗️BC Fixed typehints and return types in Bitrix24\SDK\Services\CRM\Lead\Result\LeadItemResult
    see wrong typehints in LeadItemResult:
    • CURRENCY_ID stringCurrency|null
    • OPPORTUNITY stringMoney|null
    • IS_MANUAL_OPPORTUNITY stringbool|null
    • OPENED stringbool|null
    • HAS_PHONE stringbool|null
    • HAS_EMAIL stringbool|null
    • HAS_IMOL stringbool|null
    • ASSIGNED_BY_ID stringint|null
    • CREATED_BY_ID stringint|null
    • MODIFY_BY_ID stringint|null
    • MOVED_BY_ID stringint|null
    • DATE_CREATE stringCarbonImmutable|null
    • DATE_MODIFY stringCarbonImmutable|null
    • MOVED_TIME stringCarbonImmutable|null
    • COMPANY_ID stringint|null
    • CONTACT_ID stringint|null
    • CONTACT_IDS stringarray|null
    • IS_RETURN_CUSTOMER stringbool|null
    • DATE_CLOSED stringCarbonImmutable|null
    • LAST_ACTIVITY_BY stringint|null
    • LAST_ACTIVITY_TIME stringCarbonImmutable|null
  • ❗️BC Fixed typehints and return types in Bitrix24\SDK\Services\CRM\Product\Result\ProductItemResult:
    • PRICE stringMoney
    • CURRENCY_ID stringCurrency
    • ACTIVE stringbool
    • VAT_INCLUDED stringbool
    • DATE_CREATE stringCarbonImmutable
    • TIMESTAMP_X stringCarbonImmutable
  • ❗️BC Fixed typehints and return types in Bitrix24\SDK\Services\CRM\Userfield\Result\AbstractUserfieldItemResult:
    • ID stringint
    • SORT stringint
    • MULTIPLE stringbool
    • MANDATORY stringbool
    • SHOW_FILTER stringbool
    • SHOW_IN_LIST stringbool
    • EDIT_IN_LIST stringbool
    • IS_SEARCHABLE stringbool

Deprecated

  • Deprecated class RemoteEventsFabric use RemoteEventsFactory
  • Deprecated class ApplicationLifeCycleEventsFabric use ApplicationLifeCycleEventsFactory
  • Deprecated class TelephonyEventsFabric use TelephonyEventsFactory

Statistics

Bitrix24 API-methods count: 1135
Supported in bitrix24-php-sdk methods count: 191
Coverage percentage: 16.83% 🚀
Supported in bitrix24-php-sdk methods with batch wrapper count: 22

Contributors

1.1.0

24 Sep 19:45
8ad158f

Choose a tag to compare

What's Changed

Added

  • Added class Bitrix24\SDK\Services\RemoteEventsFabric for simple work with builtin Bitrix24 events. You can create
    Bitrix24 events from Symfony\Component\HttpFoundation\Request object. If event is not supported in SDK, fabric will
    create Bitrix24\SDK\Core\Requests\Events\UnsupportedRemoteEvent with generic interface
    Bitrix24\SDK\Core\Contracts\Events\EventInterface without typehints. Every event checked with valid
    application_token signature.
  • Added method Bitrix24\SDK\Services\ServiceBuilderFactory::createServiceBuilderFromWebhook for simple work with
    webhook, see add super-simple kick-off guide.
  • Added method Bitrix24\SDK\Services\ServiceBuilderFactory::createServiceBuilderFromPlacementRequest for simple work
    with placement request, see add super-simple kick-off guide.
  • Added Bitrix24\SDK\Core\Contracts\Events\EventsFabricInterface for scope-based event fabrics.
  • Added Bitrix24\SDK\Core\Requests\Events\UnsupportedEvent as a default event container object for unsupported in SDK
    Bitrix24 events.
  • Added helpers for build local application in namespace Bitrix24\SDK\Application\Local:
    • Local\Entity\LocalAppAuth: auth data for local application. Contains: AuthToken, domainUrl and
      applicationToken.
    • Local\Infrastructure\Filesystem\AppAuthFileStorage: class for store LocalAppAuth in file
    • Local\Repository\LocalAppAuthRepositoryInterface: interface for LocalAppAuthRepository.
  • Developer experience: added example /examples/local-app-with-token-storage for demonstrate all options for work with SDK and created local application skeleton.
  • Developer experience: added example /examples/webhook-error-handling for demonstrate exceptions handling.
  • Developer experience: added example /examples/local-app-placement for demonstrate work with placements.
  • Added WrongClientException for handle errors with wrong application client configuration.
  • Added PaymentRequiredException for handle errors with expired subscription.
  • Added WrongConfigurationException for handle errors with wrong application infrastructure configuration.
  • Added WrongSecuritySignatureException for handle errors with wrong signature events with application_token.
  • Added checks for empty string in args for constructor Bitrix24\SDK\Core\Credentials\ApplicationProfile
  • Added class Bitrix24\SDK\Application\Requests\Events\ApplicationLifeCycleEventsFabric
  • Documentation: added section Basic necessary knowledge in SDK documentation
  • Documentation: added section Call unsupported methods in SDK documentation
  • Developer experience: add issue template Ship new SDK release

Changed

  • ❗️moved interface EventInterface from Bitrix24\SDK\Application\Requests\Events to
    Bitrix24\SDK\Core\Contracts\Events
  • Changed order in expired_token case:
    • old: get new auth token → repeat api-call → emit event Bitrix24\SDK\Events\AuthTokenRenewedEvent for store token
    • new: get new auth token → emit event Bitrix24\SDK\Events\AuthTokenRenewedEvent for store token → repeat api-call
  • Changed dependencies for Bitrix24\SDK\Core\ApiClient - added class Bitrix24\SDK\Core\ApiLevelErrorHandler
  • Changed scope for properties Bitrix24\SDK\Core\Credentials\ApplicationProfile - mark as public
  • Changed scope for properties Bitrix24\SDK\Core\Credentials\AuthToken - mark as public
  • Changed example for work with webhook in README.md file and directory /examples/webhook/
  • Changed example for work with local application in README.md file and directory
    /examples/local-application/
  • Changed bitrix24-php-sdk version in headers in class Bitrix24\SDK\Core\ApiClient,
    see wrong API-client and sdk version in headers.
  • Changed scope for property core in Bitrix24\SDK\Services\AbstractServiceBuilder - for better DX,
    see Make core public in service builder.
  • Changed method name Bitrix24\SDK\Services\ServiceBuilderFactory::initFromRequest to
    Bitrix24\SDK\Services\ServiceBuilderFactory::init

Fixed

  • Fixed variable names in Bitrix24\SDK\Services\ServiceBuilderFactory::initFromRequest,
    see wrong variable name.
  • Fixed some corner cases in Bitrix24\SDK\Core\ApiLevelErrorHandler

1.0

04 Sep 20:32
b8b9216

Choose a tag to compare

1.0

What's Changed

  • Add issue and PR templates by @mesilov in #2
  • Add GitHub Actions workflow for PHPUnit tests by @mesilov in #5
  • Update SECURITY.md for supported versions and formatting by @mesilov in #6
  • Add development section and update method list in docs by @mesilov in #8
  • Update project details and dependencies in composer.json by @mesilov in #10

New Contributors

Full Changelog: https://github.com/bitrix24/b24phpsdk/commits/1.0