Problem
The Bitrix24 REST API v3 note.* scope (Knowledge Base 2.0) is not yet supported by the SDK.
The portal exposes 25 note.* methods (collections, documents, document tree, full-text search,
and file attachments), none of which has a typed SDK wrapper.
Docs: https://apidocs.bitrix24.com/api-reference/rest-v3/note/index.html
Proposed solution
Add a new scope src/Services/Note/ following the architecture in docs/architecture.md:
NoteServiceBuilder.php registered in src/Services/ServiceBuilder.php
Service/Collection.php — note.collection.*
Service/Document.php — note.document.* (incl. tree.* and search.*)
Service/File.php — note.file.*
Result/*ItemResult.php with @property-read annotations for every entity
Service/Batch.php where list/add methods support batch
This is a v3 scope: single-item responses use result.item, list responses use result.items.
Result-item classes must be produced with the
php bin/console b24-dev:result-item-generator <method.name> --stage=all generator.
Implementation plan
Collection — note.collection.* (8)
Document — note.document.* (7)
Document search — note.document.search.* (3)
Document tree — note.document.tree.* (3)
File — note.file.* (4)
SDK deliverables
Acceptance criteria
Problem
The Bitrix24 REST API v3
note.*scope (Knowledge Base 2.0) is not yet supported by the SDK.The portal exposes 25
note.*methods (collections, documents, document tree, full-text search,and file attachments), none of which has a typed SDK wrapper.
Docs: https://apidocs.bitrix24.com/api-reference/rest-v3/note/index.html
Proposed solution
Add a new scope
src/Services/Note/following the architecture indocs/architecture.md:NoteServiceBuilder.phpregistered insrc/Services/ServiceBuilder.phpService/Collection.php—note.collection.*Service/Document.php—note.document.*(incl.tree.*andsearch.*)Service/File.php—note.file.*Result/*ItemResult.phpwith@property-readannotations for every entityService/Batch.phpwhere list/add methods support batchThis is a v3 scope: single-item responses use
result.item, list responses useresult.items.Result-item classes must be produced with the
php bin/console b24-dev:result-item-generator <method.name> --stage=allgenerator.Implementation plan
Collection —
note.collection.*(8)note.collection.addnote.collection.archivenote.collection.deletenote.collection.field.getnote.collection.field.listnote.collection.getnote.collection.listnote.collection.updateDocument —
note.document.*(7)note.document.addnote.document.archivenote.document.deletenote.document.field.getnote.document.field.listnote.document.getnote.document.updateDocument search —
note.document.search.*(3)note.document.search.field.getnote.document.search.field.listnote.document.search.listDocument tree —
note.document.tree.*(3)note.document.tree.field.getnote.document.tree.field.listnote.document.tree.listFile —
note.file.*(4)note.file.addnote.file.field.getnote.file.field.listnote.file.getSDK deliverables
src/Services/Note/NoteServiceBuilder.php+ registration inServiceBuilder.phpService/Collection.php,Service/Document.php,Service/File.phpwith#[ApiServiceMetadata]/#[ApiEndpointMetadata](English doc links underapidocs.bitrix24.com)@property-readcoverage (generated)tests/Unit/Services/Note/tests/Integration/Services/Note/*ItemResultTestannotation/type-cast tests for every result itemphpunit.xml.dist+make test-integration-note-*targets inMakefileCHANGELOG.mdentry under## X.Y.Z Unreleased→### Addedwith issue linkAcceptance criteria
note.*methods are callable through the SDK with typed resultsmake lint-allpasses (cs-fixer, rector, phpstan, deptrac)make test-unitpasses