Перейти до змісту
EN — Switch to English Спробувати безкоштовно

← До огляду для розробників

Поля маніфесту розширення

code, version, platform, capabilities, entrypoints, settings_schema та інші обов’язкові поля.

Усі поля нижче обов’язкові. Зайві поля не допускаються.

  • code — 2–120 символів: малі латинські літери, цифри, «.», «_», «-»; починається з літери або цифри. Напр. acme.delivery.
  • name, vendor — назва пакета й розробника, до 180 символів.
  • version — SemVer: 1.4.0 або 2.0.0-beta.1.
  • platform — сумісні версії Tobto.shop: "^1.0" або ">=1.0.1 <2.0".
  • trust_level — community для сторонніх розробників (official і verified — лише для перевірених Tobto.shop видавців).
  • capabilities — від 1 до 16 можливостей із закритого переліку: catalog.read, payment.intent.create, payment.webhook.handle, payment.refund.create, payment.reconcile, shipping.quote, shipping.shipment, shipping.labels, shipping.tracking, fiscal.receipt.issue, fiscal.refund.issue, fiscal.reconcile, marketplace.yml.export, marketplace.yml.diagnostics, mcp.catalog.read, mcp.cart.create.
  • entrypoints — об’єкт «можливість → повне ім’я PHP-класу»; ключі мають точно збігатися з capabilities.
  • permissions — права адмінки, які додає розширення (до 100), напр. settings.fiscal.manage.
  • hooks — події, на які підписується розширення (до 100).
  • settings_schema — JSON Schema налаштувань: type "object", additionalProperties false, типи string, integer, number, boolean. Для секретів — format "password" разом із writeOnly: true.
  • migrations — список шляхів до *.migration.json (може бути порожнім).
  • safe_mode_compatible — true, якщо розширення може працювати в безпечному режимі магазину.

Приклад (скорочено, з офіційного розширення Checkbox):

{
  "code": "checkbox",
  "name": "Checkbox",
  "vendor": "LaraCart",
  "version": "1.0.1",
  "platform": "^1.0",
  "trust_level": "official",
  "capabilities": ["fiscal.receipt.issue", "fiscal.refund.issue", "fiscal.reconcile"],
  "permissions": ["settings.fiscal.manage"],
  "hooks": ["fiscal.before_issue"],
  "entrypoints": {
    "fiscal.receipt.issue": "LaraCart\\Official\\Checkbox\\CheckboxProvider",
    "...": "..."
  },
  "settings_schema": {
    "type": "object",
    "additionalProperties": false,
    "required": [],
    "properties": {}
  },
  "migrations": [],
  "safe_mode_compatible": false
}

Сторонні скрипти в браузері (browser_origins) дозволені лише пакетам рівня official або verified з manifest_contract_version: 3. Пакет community з browser_origins не пройде перевірку.

Документація розробника