bxmaximum/bitrix-framework-skills

bitrix24-crm

D7 CRM in Bitrix24 on-premise: Container, Factory, Item, Operations, smart processes (dynamic types), stages, permissions, timeline, CRM events.

Zobacz źródło

Jak używać

  1. Skopiuj polecenie instalacji i sprawdź źródła przed instalacją we własnym środowisku agenta.
  2. W oryginale sprawdź wymagane narzędzia, dane dostępowe i obsługiwane środowiska.
  3. Opisz dane wejściowe i oczekiwany rezultat; porównaj wynik ze źródłami.
npx skills add https://github.com/bxmaximum/bitrix-framework-skills --skill bitrix24-crm

Przed rozpoczęciem

  • Instalacja nie obejmuje subskrypcji modelu, limitu API ani uprawnień do plików.
  • Gwiazdki i instalacje pokazują aktywność, a nie niezależny test jakości lub bezpieczeństwa.
Oryginalny dokument Skill

Treść z repozytorium z zachowaniem nagłówków, przykładów, kodu, tabel, linków i obrazów.

Bitrix24 CRM (server side)

Scope: Bitrix24 on-premise · Verified: crm 26.800.0, main 26.800.0

PHP running inside the portal: /local/ modules, handlers, agents. Calling CRM over REST: bitrix24-rest-api.

TaskRead
Container, Factory, reading items, field names, phones/e-mailsrules/factory-items.md
Add/update/delete, Context, checks, custom actionsrules/operations.md
Smart processes, funnels, stages, smart invoicesrules/smart-processes.md
Rights checks, permission-filtered listsrules/permissions.md
Reacting to changes, factory override, robots, triggersrules/events-automation.md
Timeline comments, to-dos, activitiesrules/timeline-activities.md
Fields collection, user fieldsrules/fields-uf.md
CCrmDeal/CCrmLead/… replacements, D7 ↔ REST maprules/legacy-rest.md

Invariants

  • Loader::includeModule('crm') first; get services from Container::getInstance().
  • Write only through Factory operations: getAddOperation()/getUpdateOperation()/getDeleteOperation() → launch(). Never DealTable::add(), $factory->getDataClass()::update(), Item::save()/Item::delete(): they skip rights, required fields, events, timeline, search index and robots.
  • Use Item::FIELD_NAME_* names; the factory maps them to entity columns (lead STAGE_ID → STATUS_ID).
  • Dynamic entityTypeId, funnel and stage IDs differ per portal: resolve by code or semantics at runtime, never hardcode.
  • Agents, CLI and queues have no user: pass a Context with a user ID, or disable the access check on purpose.
  • Check isSuccess() of every launch() and pass its errors up.

Powiązane zadania

z tego samego repozytorium

Więcej Skills

Wszystkie Skills