How to connect an AI agent to a Shopcore store

How to connect an AI agent to a Shopcore store

Secure access to approved store actions without access to code or the server.

Shopcore AI API is a single gateway to approved store actions. It does not expose Python, the database, the file system, or server access.

For AI agents: always fetch the live catalogue from GET /ai/v1/methods/ before acting. Never invent method or parameter names. Prefer low-risk read methods and obtain explicit owner confirmation before high-risk changes.

Access

New store

  1. Keep AI agent API enabled during onboarding.
  2. Open the AI agent access disclosure.
  3. Copy the complete prompt or one-time full token and give it only to a trusted agent.

If the AI module is unchecked, the access disclosure disappears and saving onboarding disables the API on the store.

Existing store

  1. Open Site settings in the Hive admin.
  2. Enable the last toggle, AI agent API.
  3. Open AI agent access to view the identifier, copy the connection prompt, or regenerate the token. Regeneration immediately revokes the previous token.

The key identifier is a non-secret label used for logs, recognition, and revocation. It is shown separately only in Hive settings. Only the token authorizes requests and must remain secret.

API flow

GET https://<your-hive-host>/ai/v1/methods/
Authorization: Bearer <your-token>
POST https://<your-hive-host>/ai/v1/invoke/
Authorization: Bearer <your-token>
Content-Type: application/json

{"method": "system.status", "params": {}, "options": {"confirmed": false}}

The manifest supports group, access, and risk filters. File methods use multipart fields method, params_json, options_json, plus the named file fields declared by the method.

Responses and context

Every successful response includes request status, request_id, method metadata, data, catalogue version, and store context. If a response does not contain the needed domain data, call the relevant read method instead of guessing.

Risk and confirmation

Read current state first. Methods with confirmation: required are rejected unless the owner has explicitly approved the exact action and the agent sends options.confirmed=true. Dynamic-risk methods may require confirmation for sensitive parameters such as custom HTML, indexing, or legal details. Audit logs redact tokens, passwords, and secrets.

Critical domain rules

Products and automatic import

Before a manual product change, call exchange.auto_import.get. If automatic import is active, updates existing products, and the field appears in managed_fields, the next run may overwrite the manual change. Give the owner a choice: proceed once, change/disable the import mapping, or skip the manual edit.

Warehouse stock

When the warehouse module is enabled, catalog.products.update rejects patch.warehouse_count. Use warehouse.stock.listwarehouse.revisions.createwarehouse.revisions.get → confirmed warehouse.revisions.post.

Blocks and custom HTML

Search pages.blocks.catalog first. If the visual block is missing, expose data through standard data blocks and use html_code only as the presentation layer. It does not grant Python, backend, or private-data access and requires explicit confirmation.

Method catalogue: 137

This is the complete human- and machine-readable snapshot. The live manifest takes precedence if catalogue versions differ. Canonical method titles and descriptions are currently maintained in Ukrainian. catalog_version: 2026-09-08.3

Система (4)

Стан і можливості (2)

read Risk: low

system.overview — Огляд даних магазину

What it does: Дає компактні лічильники каталогу, сторінок, замовлень, клієнтів і журналу AI без завантаження самих записів.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: shop.capabilities

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
read Risk: low

system.status — Стан магазину

What it does: Повертає ідентичність магазину, публічний URL, стан підписки та модулів.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classespublic, shop_internal
Side effects
Additional AI safety context

What it touches: shop.capabilities

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}

Журнал AI (2)

read Risk: medium

audit.requests.get — Деталі AI-запиту

What it does: Повертає один запис журналу з автоматично прихованими секретами.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: ai.audit_log

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Input data (params)
{
  "type": "object",
  "properties": {
    "request_id": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "request_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: medium

audit.requests.list — Список AI-запитів

What it does: Повертає журнал викликів цього магазину з фільтрами за методом і статусом; вміст запитів не включає.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: ai.audit_log

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "method": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "running",
        "success",
        "error"
      ]
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}

Каталог (32)

Категорії (5)

write Risk: medium Confirmation: recommended

catalog.categories.create — Створити категорію

What it does: Створює категорію у наявному MPTT-дереві; slug генерується автоматично, якщо не переданий.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencysupported
Required modules
Data classesshop_internal
Side effectscatalog_tree_changed
Additional AI safety context

What it touches: catalog.categories, storefront.catalog

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • catalog.categories.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "parent_id": {
      "type": [
        "integer",
        "null"
      ]
    },
    "number": {
      "type": "integer"
    },
    "translations": {
      "type": "object"
    }
  },
  "additionalProperties": false,
  "required": [
    "title"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

catalog.categories.delete — Видалити категорію

What it does: Видаляє категорію. Через правила моделі також може видалити її дочірню гілку; товари отримують порожню основну категорію.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectscategory_branch_deleted, products_detached
Additional AI safety context

What it touches: catalog.categories, storefront.catalog

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • catalog.categories.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "category_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "category_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

catalog.categories.get — Дані категорії

What it does: Повертає категорію, її шлях, переклади, медіа, SEO та кількість товарів.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.categories, storefront.catalog

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "category_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "category_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

catalog.categories.list — Список категорій

What it does: Повертає дерево категорій магазину з батьком, рівнем і кількістю дочірніх категорій.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.categories, storefront.catalog

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "parent_id": {
      "type": [
        "integer",
        "null"
      ]
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

catalog.categories.update — Оновити категорію

What it does: Частково оновлює назву, дерево, порядок і SEO категорії з перевіркою циклів та належності магазину.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectscatalog_tree_or_seo_changed
Additional AI safety context

What it touches: catalog.categories, storefront.catalog

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • catalog.categories.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "category_id": {
      "type": "integer",
      "minimum": 1
    },
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "translations": {
      "type": "object"
    }
  },
  "additionalProperties": false,
  "required": [
    "category_id",
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}

Товари (15)

read Risk: low

catalog.buy_together.get — Супутні товари

What it does: Повертає супутні товари для одного товару.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

catalog.buy_together.set — Задати супутні товари

What it does: Замінює список супутніх товарів через наявну M2M-модель.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencysupported
Required modules
Data classesshop_internal
Side effectsbuy_together_replaced
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    },
    "related_product_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id",
    "related_product_ids"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

catalog.product_images.add — Додати фото товару

What it does: Додає завантажене multipart-поле file до галереї; формат і resize перевіряє чинне поле ProductImg.

Important: Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsmedia_uploaded
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
Preflight checks
  • catalog.product_images.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • exchange.auto_import.get — Перевір активність, duplicate_policy і managed_fields; при перетині покажи ризик власнику та дай вибір. (before_product_write)
Safer path
  • Змінити або вимкнути мапінг автоімпорту для поля, яке має керуватися вручну.
Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    },
    "file_field": {
      "type": "string",
      "default": "file"
    },
    "alt": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

catalog.product_images.delete — Видалити фото

What it does: Видаляє одне фото галереї разом із файлом через наявний signal моделі.

Important: Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsmedia_deleted
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
  • Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
Preflight checks
  • catalog.product_images.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • exchange.auto_import.get — Перевір активність, duplicate_policy і managed_fields; при перетині покажи ризик власнику та дай вибір. (before_product_write)
Safer path
  • Змінити або вимкнути мапінг автоімпорту для поля, яке має керуватися вручну.
Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    },
    "image_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id",
    "image_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

catalog.product_images.list — Фото товару

What it does: Повертає головне фото й упорядковану галерею товару.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

catalog.product_images.set_cover — Зробити фото головним

What it does: Міняє місцями головне фото товару та вибране фото галереї за чинним UI-патерном.

Important: Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsproduct_cover_changed
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
Preflight checks
  • catalog.product_images.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • exchange.auto_import.get — Перевір активність, duplicate_policy і managed_fields; при перетині покажи ризик власнику та дай вибір. (before_product_write)
Safer path
  • Змінити або вимкнути мапінг автоімпорту для поля, яке має керуватися вручну.
Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    },
    "image_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id",
    "image_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: low

catalog.product_images.update — Оновити фото товару

What it does: Змінює alt і порядок наявного фото галереї.

Important: Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
AccesswriteRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsmedia_metadata_changed
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
Preflight checks
  • catalog.product_images.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • exchange.auto_import.get — Перевір активність, duplicate_policy і managed_fields; при перетині покажи ризик власнику та дай вибір. (before_product_write)
Safer path
  • Змінити або вимкнути мапінг автоімпорту для поля, яке має керуватися вручну.
Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    },
    "image_id": {
      "type": "integer",
      "minimum": 1
    },
    "alt": {
      "type": "string"
    },
    "number": {
      "type": "integer"
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id",
    "image_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

catalog.product_specifications.list — Характеристики товару

What it does: Повертає характеристики товару з перекладами.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

catalog.product_specifications.replace — Замінити характеристики

What it does: Атомарно замінює весь список характеристик товару; кожен елемент має spec, description і необов'язкові translations.

Important: Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
AccesswriteRiskmedium
ConfirmationrecommendedIdempotencysupported
Required modules
Data classesshop_internal
Side effectsproduct_specifications_replaced
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
Preflight checks
  • catalog.product_specifications.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • exchange.auto_import.get — Перевір активність, duplicate_policy і managed_fields; при перетині покажи ризик власнику та дай вибір. (before_product_write)
Safer path
  • Змінити або вимкнути мапінг автоімпорту для поля, яке має керуватися вручну.
Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id",
    "items"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

catalog.products.create — Створити товар

What it does: Створює товар через чинну модель Product, тому автоматичні slug і SKU лишаються єдиним джерелом логіки. За замовчуванням товар не публікується.

Important: Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
AccesswriteRiskmedium
ConfirmationrecommendedIdempotencysupported
Required modules
Data classesshop_internal
Side effectsproduct_created
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
Preflight checks
  • catalog.products.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • exchange.auto_import.get — Перевір активність, duplicate_policy і managed_fields; при перетині покажи ризик власнику та дай вибір. (before_product_write)
Safer path
  • Змінити або вимкнути мапінг автоімпорту для поля, яке має керуватися вручну.
Input data (params)
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "data": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "translations": {
      "type": "object"
    },
    "additional_category_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "title"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

catalog.products.delete — Видалити товар

What it does: Видаляє товар і його варіації через чинний сервіс масового видалення; склад не скидається автоматично.

Important: Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsproduct_and_variations_deleted
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
  • Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
Preflight checks
  • catalog.products.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • exchange.auto_import.get — Перевір активність, duplicate_policy і managed_fields; при перетині покажи ризик власнику та дай вибір. (before_product_write)
Safer path
  • Змінити або вимкнути мапінг автоімпорту для поля, яке має керуватися вручну.
Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    },
    "reset_stock": {
      "type": "boolean",
      "default": false
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

catalog.products.get — Дані товару

What it does: Повертає повну безпечну картку товару, переклади, SEO, категорії та пов'язані дані.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

catalog.products.list — Список товарів

What it does: Повертає товари з пошуком, фільтрами категорії, публікації, архіву, варіацій і залишку.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "category_id": {
      "type": "integer",
      "minimum": 1
    },
    "is_published": {
      "type": "boolean"
    },
    "is_archival": {
      "type": "boolean"
    },
    "father_id": {
      "type": [
        "integer",
        "null"
      ]
    },
    "stock": {
      "type": "string",
      "enum": [
        "any",
        "positive",
        "zero"
      ]
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

catalog.products.update — Оновити товар

What it does: Частково оновлює дозволені поля товару й переклади; бізнес-логіка save() для slug/SKU не дублюється.

Important: Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
Important: Якщо склад увімкнений, patch.warehouse_count заборонений: створи ревізію, перевір її й проведи після підтвердження.
AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsproduct_changed
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
  • Якщо склад увімкнений, patch.warehouse_count заборонений: створи ревізію, перевір її й проведи після підтвердження.
Preflight checks
  • catalog.products.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • exchange.auto_import.get — Перевір активність, duplicate_policy і managed_fields; при перетині покажи ризик власнику та дай вибір. (before_product_write)
  • settings.modules.get — Перевір, чи ввімкнений склад, перш ніж пропонувати зміну warehouse_count. (when_warehouse_count_requested)
Safer path
  • Змінити або вимкнути мапінг автоімпорту для поля, яке має керуватися вручну.
  • warehouse.revisions.create
  • warehouse.revisions.post
Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    },
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "translations": {
      "type": "object"
    },
    "additional_category_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      }
    },
    "expected_updated_at": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id",
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium

catalog.products.visibility.set — Публікація товару

What it does: Вузько змінює стани публікації та архіву товару.

Important: Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
AccesswriteRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsstorefront_visibility_changed
Additional AI safety context

What it touches: catalog.products, storefront.catalog

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
Preflight checks
  • catalog.products.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • exchange.auto_import.get — Перевір активність, duplicate_policy і managed_fields; при перетині покажи ризик власнику та дай вибір. (before_product_write)
Safer path
  • Змінити або вимкнути мапінг автоімпорту для поля, яке має керуватися вручну.
Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    },
    "is_published": {
      "type": "boolean"
    },
    "is_archival": {
      "type": "boolean"
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id"
  ]
}
Result (data)
{
  "type": "object"
}

Фільтри й варіації (12)

write Risk: medium Confirmation: recommended

catalog.filter_values.create — Створити значення фільтра

What it does: Додає текстове або кольорове значення до фільтра.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsfilter_value_created
Additional AI safety context

What it touches: catalog.filters, catalog.variations

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Input data (params)
{
  "type": "object",
  "properties": {
    "filter_id": {
      "type": "integer",
      "minimum": 1
    },
    "data": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    }
  },
  "additionalProperties": false,
  "required": [
    "filter_id",
    "data"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

catalog.filter_values.delete — Видалити значення фільтра

What it does: Видаляє значення та його прив'язки до товарів.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsfilter_value_deleted, product_filter_links_deleted
Additional AI safety context

What it touches: catalog.filters, catalog.variations

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Input data (params)
{
  "type": "object",
  "properties": {
    "value_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "value_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

catalog.filter_values.update — Оновити значення фільтра

What it does: Частково оновлює назву, колір, активність і порядок значення.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsfilter_value_changed
Additional AI safety context

What it touches: catalog.filters, catalog.variations

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Input data (params)
{
  "type": "object",
  "properties": {
    "value_id": {
      "type": "integer",
      "minimum": 1
    },
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    }
  },
  "additionalProperties": false,
  "required": [
    "value_id",
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

catalog.filters.create — Створити фільтр

What it does: Створює фільтр checkbox, color або image через чинну модель.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectscatalog_filter_created
Additional AI safety context

What it touches: catalog.filters, catalog.variations

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Input data (params)
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    }
  },
  "additionalProperties": false,
  "required": [
    "data"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

catalog.filters.delete — Видалити фільтр

What it does: Видаляє фільтр, його значення та прив'язки товарів каскадно.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectscatalog_filter_deleted, product_filter_links_deleted
Additional AI safety context

What it touches: catalog.filters, catalog.variations

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Input data (params)
{
  "type": "object",
  "properties": {
    "filter_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "filter_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

catalog.filters.get — Дані фільтра

What it does: Повертає один фільтр та всі його значення.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.filters, catalog.variations

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "filter_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "filter_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

catalog.filters.list — Список фільтрів

What it does: Повертає фільтри каталогу та їх значення.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.filters, catalog.variations

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

catalog.filters.update — Оновити фільтр

What it does: Частково оновлює дозволені поля фільтра.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectscatalog_filter_changed
Additional AI safety context

What it touches: catalog.filters, catalog.variations

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Input data (params)
{
  "type": "object",
  "properties": {
    "filter_id": {
      "type": "integer",
      "minimum": 1
    },
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    }
  },
  "additionalProperties": false,
  "required": [
    "filter_id",
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

catalog.product_filters.get — Атрибути товару

What it does: Повертає значення фільтрів, призначені конкретному SKU.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.filters, catalog.variations

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

catalog.product_filters.set — Задати атрибути товару

What it does: Замінює прив'язки фільтрів товару атомарно; один фільтр може мати одне значення для SKU.

Important: Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
AccesswriteRiskmedium
ConfirmationrecommendedIdempotencysupported
Required modules
Data classesshop_internal
Side effectsproduct_filter_links_replaced
Additional AI safety context

What it touches: catalog.filters, catalog.variations

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Активний автоімпорт може перетерти змінені поля товару або відновити видалені дані під час наступного запуску.
Preflight checks
  • catalog.product_filters.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • exchange.auto_import.get — Перевір активність, duplicate_policy і managed_fields; при перетині покажи ризик власнику та дай вибір. (before_product_write)
Safer path
  • Змінити або вимкнути мапінг автоімпорту для поля, яке має керуватися вручну.
Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "filter_id": {
            "type": "integer",
            "minimum": 1
          },
          "value_id": {
            "type": "integer",
            "minimum": 1
          }
        }
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id",
    "items"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

catalog.variations.get — Варіації товару

What it does: Повертає кореневий товар і впорядковані дочірні SKU.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.filters, catalog.variations

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

catalog.variations.set — Задати варіації товару

What it does: Атомарно замінює дочірні SKU кореневого товару й синхронізує поле father так само, як чинний admin inline.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencysupported
Required modules
Data classesshop_internal
Side effectsvariation_family_rebuilt
Additional AI safety context

What it touches: catalog.filters, catalog.variations

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Input data (params)
{
  "type": "object",
  "properties": {
    "product_id": {
      "type": "integer",
      "minimum": 1
    },
    "child_ids": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "product_id",
    "child_ids"
  ]
}
Result (data)
{
  "type": "object"
}

Сторінки та контент (16)

Сторінки (8)

write Risk: medium Confirmation: recommended

pages.create — Створити сторінку

What it does: Створює звичайну сторінку через чинну модель Page; за замовчуванням не публікує її.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencysupported
Required modules
Data classesshop_internal
Side effectspage_created
Additional AI safety context

What it touches: pages, storefront.routing

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • pages.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "data": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "translations": {
      "type": "object"
    }
  },
  "additionalProperties": false,
  "required": [
    "title"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

pages.delete — Видалити сторінку

What it does: Видаляє сторінку разом із блоками та файлами; підключені runtime-layout отримають порожнє посилання.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectspage_and_blocks_deleted, layout_may_be_unassigned
Additional AI safety context

What it touches: pages, storefront.routing

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • pages.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "page_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "page_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

pages.get — Дані сторінки

What it does: Повертає сторінку з перекладами, SEO, meta та впорядкованими блоками.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: pages, storefront.routing

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "page_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "page_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

pages.layouts.get — Runtime-сторінки

What it does: Повертає сторінки, призначені для каталогу, категорії, товару та checkout.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: pages, storefront.routing

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

pages.layouts.set — Призначити runtime-сторінку

What it does: Призначає наявну сторінку магазину для каталогу, категорії, товару або checkout через чинні layout-моделі.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsruntime_route_page_changed
Additional AI safety context

What it touches: pages, storefront.routing

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • pages.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "runtime_context": {
      "type": "string",
      "enum": [
        "catalog",
        "category",
        "product",
        "checkout"
      ]
    },
    "page_id": {
      "type": [
        "integer",
        "null"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "runtime_context",
    "page_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

pages.list — Список сторінок

What it does: Повертає сторінки магазину, їх URL, роль у runtime та кількість блоків.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: pages, storefront.routing

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "include_unpublished": {
      "type": "boolean",
      "default": true
    },
    "runtime_context": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

pages.update — Оновити сторінку

What it does: Частково оновлює назву, URL, SEO, meta та переклади; не змінює блоки й публікацію.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectspage_metadata_changed
Additional AI safety context

What it touches: pages, storefront.routing

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • pages.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "page_id": {
      "type": "integer",
      "minimum": 1
    },
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "translations": {
      "type": "object"
    }
  },
  "additionalProperties": false,
  "required": [
    "page_id",
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium

pages.visibility.set — Публікація сторінки

What it does: Вузько публікує або приховує сторінку.

AccesswriteRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsstorefront_visibility_changed
Additional AI safety context

What it touches: pages, storefront.routing

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • pages.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "page_id": {
      "type": "integer",
      "minimum": 1
    },
    "is_published": {
      "type": "boolean"
    }
  },
  "additionalProperties": false,
  "required": [
    "page_id",
    "is_published"
  ]
}
Result (data)
{
  "type": "object"
}

Блоки (8)

read Risk: low

pages.blocks.catalog — Каталог блоків

What it does: Повертає реальний registry page builder: групи, всі зареєстровані типи блоків, контексти, schemas і defaults.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classespublic, shop_internal
Side effects
Additional AI safety context

What it touches: pages.blocks, storefront.layout

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Potential hazards
  • html_code змінює лише UI і не відкриває backend: потрібні дані слід отримувати через стандартні блоки та дозволені API-методи.
Preflight checks
  • pages.blocks.catalog — Спочатку знайди стандартний блок та його schema; власний HTML використовуй лише коли готового UI немає. (before_block_design)
Safer path
  • Використай стандартний data/block provider для даних і html_code лише як presentation layer.
Input data (params)
{
  "type": "object",
  "properties": {
    "block_code": {
      "type": "string"
    },
    "runtime_context": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: dynamic Confirmation: recommended

pages.blocks.create — Створити блок

What it does: Вставляє зареєстрований блок через BuilderProvider із його defaults і перекладами магазину.

AccesswriteRiskdynamic
ConfirmationrecommendedIdempotencysupported
Required modules
Data classesshop_internal
Side effectspage_content_changed
Additional AI safety context

What it touches: pages.blocks, storefront.layout

Decision rule: Оціни фактичні поля; для HTML, секретів, індексації чи широкої зміни отримай явне підтвердження.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Ризик залежить від полів і контенту; перевір параметри та обери найвужчий метод.
  • html_code змінює лише UI і не відкриває backend: потрібні дані слід отримувати через стандартні блоки та дозволені API-методи.
Preflight checks
  • pages.blocks.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • pages.blocks.catalog — Спочатку знайди стандартний блок та його schema; власний HTML використовуй лише коли готового UI немає. (before_block_design)
Safer path
  • Використай стандартний data/block provider для даних і html_code лише як presentation layer.
Input data (params)
{
  "type": "object",
  "properties": {
    "page_id": {
      "type": "integer",
      "minimum": 1
    },
    "block_code": {
      "type": "string"
    },
    "insert_mode": {
      "type": "string",
      "enum": [
        "end",
        "before",
        "after"
      ]
    },
    "target_block_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "page_id",
    "block_code"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

pages.blocks.delete — Видалити блок

What it does: Видаляє блок, переклади та завантажені assets через чинні cascade і signals.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsblock_and_assets_deleted
Additional AI safety context

What it touches: pages.blocks, storefront.layout

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
  • html_code змінює лише UI і не відкриває backend: потрібні дані слід отримувати через стандартні блоки та дозволені API-методи.
Preflight checks
  • pages.blocks.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • pages.blocks.catalog — Спочатку знайди стандартний блок та його schema; власний HTML використовуй лише коли готового UI немає. (before_block_design)
Safer path
  • Використай стандартний data/block provider для даних і html_code лише як presentation layer.
Input data (params)
{
  "type": "object",
  "properties": {
    "page_id": {
      "type": "integer",
      "minimum": 1
    },
    "block_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "page_id",
    "block_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: low

pages.blocks.enabled.set — Увімкнути або вимкнути блок

What it does: Вузько змінює видимість одного блока без видалення контенту.

AccesswriteRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsblock_visibility_changed
Additional AI safety context

What it touches: pages.blocks, storefront.layout

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • html_code змінює лише UI і не відкриває backend: потрібні дані слід отримувати через стандартні блоки та дозволені API-методи.
Preflight checks
  • pages.blocks.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • pages.blocks.catalog — Спочатку знайди стандартний блок та його schema; власний HTML використовуй лише коли готового UI немає. (before_block_design)
Safer path
  • Використай стандартний data/block provider для даних і html_code лише як presentation layer.
Input data (params)
{
  "type": "object",
  "properties": {
    "page_id": {
      "type": "integer",
      "minimum": 1
    },
    "block_id": {
      "type": "integer",
      "minimum": 1
    },
    "is_enabled": {
      "type": "boolean"
    }
  },
  "additionalProperties": false,
  "required": [
    "page_id",
    "block_id",
    "is_enabled"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

pages.blocks.get — Дані блока

What it does: Повертає один блок разом із його чинними schemas та значеннями.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: pages.blocks, storefront.layout

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Potential hazards
  • html_code змінює лише UI і не відкриває backend: потрібні дані слід отримувати через стандартні блоки та дозволені API-методи.
Preflight checks
  • pages.blocks.catalog — Спочатку знайди стандартний блок та його schema; власний HTML використовуй лише коли готового UI немає. (before_block_design)
Safer path
  • Використай стандартний data/block provider для даних і html_code лише як presentation layer.
Input data (params)
{
  "type": "object",
  "properties": {
    "page_id": {
      "type": "integer",
      "minimum": 1
    },
    "block_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "page_id",
    "block_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

pages.blocks.list — Блоки сторінки

What it does: Повертає всі блоки сторінки з нормалізованим контентом, перекладами, дизайном і медіа.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: pages.blocks, storefront.layout

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Potential hazards
  • html_code змінює лише UI і не відкриває backend: потрібні дані слід отримувати через стандартні блоки та дозволені API-методи.
Preflight checks
  • pages.blocks.catalog — Спочатку знайди стандартний блок та його schema; власний HTML використовуй лише коли готового UI немає. (before_block_design)
Safer path
  • Використай стандартний data/block provider для даних і html_code лише як presentation layer.
Input data (params)
{
  "type": "object",
  "properties": {
    "page_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "page_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: low

pages.blocks.move — Перемістити блок

What it does: Міняє блок місцями з сусіднім у транзакції за чинним алгоритмом builder UI.

AccesswriteRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsblock_order_changed
Additional AI safety context

What it touches: pages.blocks, storefront.layout

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • html_code змінює лише UI і не відкриває backend: потрібні дані слід отримувати через стандартні блоки та дозволені API-методи.
Preflight checks
  • pages.blocks.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • pages.blocks.catalog — Спочатку знайди стандартний блок та його schema; власний HTML використовуй лише коли готового UI немає. (before_block_design)
Safer path
  • Використай стандартний data/block provider для даних і html_code лише як presentation layer.
Input data (params)
{
  "type": "object",
  "properties": {
    "page_id": {
      "type": "integer",
      "minimum": 1
    },
    "block_id": {
      "type": "integer",
      "minimum": 1
    },
    "direction": {
      "type": "string",
      "enum": [
        "up",
        "down"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "page_id",
    "block_id",
    "direction"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: dynamic Confirmation: recommended

pages.blocks.update — Оновити блок

What it does: Частково оновлює content/design/data_config/extra через schemas і validators зареєстрованого backend; multipart-файли мають ті самі upload__... ключі, що й builder UI.

AccesswriteRiskdynamic
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectspage_content_changed, media_may_change
Additional AI safety context

What it touches: pages.blocks, storefront.layout

Decision rule: Оціни фактичні поля; для HTML, секретів, індексації чи широкої зміни отримай явне підтвердження.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Ризик залежить від полів і контенту; перевір параметри та обери найвужчий метод.
  • html_code змінює лише UI і не відкриває backend: потрібні дані слід отримувати через стандартні блоки та дозволені API-методи.
Preflight checks
  • pages.blocks.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • pages.blocks.catalog — Спочатку знайди стандартний блок та його schema; власний HTML використовуй лише коли готового UI немає. (before_block_design)
Safer path
  • Використай стандартний data/block provider для даних і html_code лише як presentation layer.
Input data (params)
{
  "type": "object",
  "properties": {
    "page_id": {
      "type": "integer",
      "minimum": 1
    },
    "block_id": {
      "type": "integer",
      "minimum": 1
    },
    "content": {
      "type": "object",
      "properties": {
        "shared": {
          "type": "object"
        },
        "translated": {
          "type": "object"
        }
      }
    },
    "design": {
      "type": "object"
    },
    "data_config": {
      "type": "object"
    },
    "extra": {
      "type": "object"
    },
    "expected_updated_at": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "page_id",
    "block_id"
  ]
}
Result (data)
{
  "type": "object"
}

Налаштування (17)

Магазин (10)

read Risk: low

settings.catalog.get — Налаштування каталогу

What it does: Повертає чинні параметри показу дочірніх товарів і фільтрації варіацій.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: shop.settings

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

settings.catalog.update — Оновити налаштування каталогу

What it does: Частково змінює два чинні каталожні тумблери через helper налаштувань.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectscatalog_behavior_changed
Additional AI safety context

What it touches: shop.settings

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • settings.catalog.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    }
  },
  "additionalProperties": false,
  "required": [
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: dynamic Confirmation: recommended

settings.company.update — Оновити реквізити компанії

What it does: Частково оновлює назву, email, ЄДРПОУ, IBAN, додаткову інформацію та переклади. Ідентифікаційні й банківські дані потребують явного підтвердження.

AccesswriteRiskdynamic
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal, financial
Side effectslegal_or_contact_details_changed
Additional AI safety context

What it touches: shop.settings

Decision rule: Оціни фактичні поля; для HTML, секретів, індексації чи широкої зміни отримай явне підтвердження.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Ризик залежить від полів і контенту; перевір параметри та обери найвужчий метод.
  • Метод працює з чутливими класами даних: financial. Не передавай їх поза завданням.
Preflight checks
  • settings.profile.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "translations": {
      "type": "object"
    }
  },
  "additionalProperties": false,
  "required": [
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

settings.languages.base.set — Задати базову мову

What it does: Змінює базову мову через чинний helper сторінки налаштувань і прибирає її з додаткових.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectspublic_url_language_policy_changed
Additional AI safety context

What it touches: shop.settings

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • settings.languages.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "code"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

settings.languages.extra.set — Увімкнути додаткову мову

What it does: Вмикає або вимикає додаткову мову через чинний helper налаштувань.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsstore_languages_changed
Additional AI safety context

What it touches: shop.settings

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • settings.languages.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string"
    },
    "enabled": {
      "type": "boolean"
    }
  },
  "additionalProperties": false,
  "required": [
    "code",
    "enabled"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

settings.languages.get — Мови магазину

What it does: Повертає базову, увімкнені й доступні мови магазину.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: shop.settings

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
read Risk: low

settings.modules.get — Стани модулів

What it does: Повертає тумблери модулів і тарифні стани з чинного serializer налаштувань.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: shop.settings

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

settings.modules.set — Увімкнути або вимкнути модуль

What it does: Змінює один чинний module toggle через існуючу тарифну та складську перевірку. Вимкнення AI заблокує наступні виклики цього токена.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsmodule_access_changed, warehouse_reset_may_be_enqueued
Additional AI safety context

What it touches: shop.settings

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • settings.modules.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "module": {
      "type": "string",
      "enum": [
        "crm",
        "warehouse",
        "customer_account",
        "import_export",
        "ai_agent_api"
      ]
    },
    "enabled": {
      "type": "boolean"
    },
    "confirm_warehouse_reset": {
      "type": "boolean",
      "default": false
    }
  },
  "additionalProperties": false,
  "required": [
    "module",
    "enabled"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

settings.profile.get — Профіль налаштувань

What it does: Повертає безпечний зріз базових, каталожних, модульних, мовних і компанійних налаштувань без паролів, токенів та секретів.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: shop.settings

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: low

settings.site_name.update — Змінити назву сайту

What it does: Змінює назву сайту через той самий валідатор поля, який використовує сторінка налаштувань.

AccesswriteRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectssite_identity_changed
Additional AI safety context

What it touches: shop.settings

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
Preflight checks
  • settings.profile.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "site_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    }
  },
  "additionalProperties": false,
  "required": [
    "site_name"
  ]
}
Result (data)
{
  "type": "object"
}

Домен (2)

read Risk: medium

domain.settings.get — Налаштування домену

What it does: Повертає домен, DNS/TLS-статус, очікувані IP та помилку перевірки без внутрішніх шляхів nginx.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal, contact
Side effects
Additional AI safety context

What it touches: shop.domain, dns, tls, public_routing

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: contact. Не передавай їх поза завданням.
  • Зміна домену впливає на DNS, TLS-сертифікат, canonical URL та доступність storefront.
Safer path
  • Спочатку збережи домен із connect_requested=false і перевір DNS-налаштування.
Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

domain.settings.update — Оновити домен

What it does: Частково змінює домен, email для Let's Encrypt і стан підключення через чинний save_domain_settings_from_user(); DNS/SSL обробляються наявним фоновим процесом.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencysupported
Required modules
Data classesshop_internal, contact
Side effectspublic_domain_changed, dns_and_tls_workflow_changed, old_domain_runtime_may_be_cleaned
Additional AI safety context

What it touches: shop.domain, dns, tls, public_routing

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
  • Метод працює з чутливими класами даних: contact. Не передавай їх поза завданням.
  • Зміна домену впливає на DNS, TLS-сертифікат, canonical URL та доступність storefront.
Preflight checks
  • domain.settings.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Safer path
  • Спочатку збережи домен із connect_requested=false і перевір DNS-налаштування.
Input data (params)
{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "maxLength": 253
    },
    "certificate_email": {
      "type": "string",
      "maxLength": 254
    },
    "connect_requested": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}

Дизайн (2)

read Risk: low

design.theme.get — Дизайн теми

What it does: Повертає активну тему, кольори, системні шрифти, ваги, розміри та власні font groups без бінарних даних.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: storefront.theme

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

design.theme.update — Оновити дизайн теми

What it does: Частково змінює дозволені кольори, стандартні шрифти, ваги, розміри та radius через ThemeUserSettings.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectssite_design_changed
Additional AI safety context

What it touches: storefront.theme

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • design.theme.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    }
  },
  "additionalProperties": false,
  "required": [
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}

SEO (3)

read Risk: low

seo.audit — SEO-аудит

What it does: Викликає чинний build_seo_audit(shop): score, секції, лічильники та рекомендації.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: seo, search_indexing

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
read Risk: low

seo.settings.get — SEO-налаштування

What it does: Повертає глобальні SEO-поля магазину та URL OG-зображення.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: seo, search_indexing

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: dynamic Confirmation: recommended

seo.settings.update — Оновити SEO

What it does: Частково оновлює глобальні SEO-поля. Увімкнення або вимкнення індексації вимагає підтвердження.

AccesswriteRiskdynamic
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectssearch_indexing_or_metadata_changed
Additional AI safety context

What it touches: seo, search_indexing

Decision rule: Оціни фактичні поля; для HTML, секретів, індексації чи широкої зміни отримай явне підтвердження.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Ризик залежить від полів і контенту; перевір параметри та обери найвужчий метод.
Preflight checks
  • seo.settings.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    }
  },
  "additionalProperties": false,
  "required": [
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}

Продажі (21)

Замовлення (11)

write Risk: high Confirmation: required

orders.cancel — Скасувати замовлення

What it does: Викликає Order.cancel_order(): скасовує замовлення і звільняє складський резерв; reason записується лише якщо передано author_user_id.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required moduleswarehouse
Data classesshop_internal
Side effectsstock_released, order_cancelled
Additional AI safety context

What it touches: orders, customers, stock

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • orders.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "minimum": 1
    },
    "reason": {
      "type": "string"
    },
    "author_user_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "order_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

orders.comment.add — Додати коментар до замовлення

What it does: Додає внутрішній коментар від конкретного працівника магазину; автор задається явно, щоб журнал не приписував AI чужу особу.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classescustomer_pii
Side effectsorder_comment_created
Additional AI safety context

What it touches: orders, customers, stock

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: customer_pii. Не передавай їх поза завданням.
Preflight checks
  • orders.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "minimum": 1
    },
    "author_user_id": {
      "type": "integer",
      "minimum": 1
    },
    "text": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "order_id",
    "author_user_id",
    "text"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

orders.confirm — Підтвердити замовлення

What it does: Викликає Order.confirm_order(): підтверджує, резервує склад і ставить клієнтський email у чергу.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required moduleswarehouse
Data classesshop_internal
Side effectsstock_reserved, customer_email_enqueued
Additional AI safety context

What it touches: orders, customers, stock

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • orders.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "order_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

orders.documents.generate — Згенерувати документи

What it does: Викликає чинний Order.prepare_docs() для рахунку та видаткової накладної.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsinvoice_and_waybill_generated
Additional AI safety context

What it touches: orders, customers, stock

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • orders.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "order_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

orders.documents.mark_sent — Позначити документи відправленими

What it does: Викликає чинний Order.doc_send().

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsdocument_state_changed
Additional AI safety context

What it touches: orders, customers, stock

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • orders.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "order_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

orders.fiscalization.mark — Позначити фіскалізованим

What it does: Викликає Order.order_fiscalized(check_link) і ставить лист із чеком у чергу.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsfiscalization_state_changed, customer_email_enqueued
Additional AI safety context

What it touches: orders, customers, stock

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • orders.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "minimum": 1
    },
    "check_link": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "order_id",
    "check_link"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

orders.fulfillment.pack — Позначити запакованим

What it does: Викликає Order.order_pack() і ставить клієнтський email у чергу.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectspacking_state_changed, customer_email_enqueued
Additional AI safety context

What it touches: orders, customers, stock

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • orders.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "order_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

orders.fulfillment.ship — Позначити відправленим

What it does: Викликає Order.order_send(ttn), синхронізує ТТН у чинній OrderDelivery і ставить email у чергу.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsshipping_state_changed, customer_email_enqueued
Additional AI safety context

What it touches: orders, customers, stock

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • orders.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "minimum": 1
    },
    "ttn": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "order_id",
    "ttn"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: medium

orders.get — Дані замовлення

What it does: Повертає повне замовлення: товари, суму, доставку, оплату, статуси, документи та внутрішні коментарі.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classescustomer_pii, financial
Side effects
Additional AI safety context

What it touches: orders, customers, stock

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: customer_pii, financial. Не передавай їх поза завданням.
Input data (params)
{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "order_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: medium

orders.list — Список замовлень

What it does: Повертає замовлення з пошуком, джерелом і окремими status-фільтрами; містить контактні дані клієнтів.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classescustomer_pii, financial
Side effects
Additional AI safety context

What it touches: orders, customers, stock

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: customer_pii, financial. Не передавай їх поза завданням.
Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "source": {
      "type": "string"
    },
    "confirmed": {
      "type": "boolean"
    },
    "is_paid": {
      "type": "boolean"
    },
    "is_cansel": {
      "type": "boolean"
    },
    "is_sended": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

orders.payment.mark_paid — Позначити оплаченим

What it does: Викликає Order.order_paid(): фіксує оплату, резервує склад і ставить email у чергу.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required moduleswarehouse
Data classesshop_internal
Side effectspayment_state_changed, stock_reserved, customer_email_enqueued
Additional AI safety context

What it touches: orders, customers, stock

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • orders.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "order_id"
  ]
}
Result (data)
{
  "type": "object"
}

Оплати (3)

read Risk: medium

payments.settings.get — Налаштування методу оплати

What it does: Повертає один платіжний провайдер і його безпечну конфігурацію; секрет показується лише як secret_configured.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesfinancial, shop_internal
Side effects
Additional AI safety context

What it touches: checkout.payments, payment_configuration

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: financial. Не передавай їх поза завданням.
  • Зміна впливає на варіанти оплати в checkout; секрети приймаються, але ніколи не повертаються.
Safer path
  • Спочатку налаштуй метод вимкненим, перевір реквізити й лише потім активуй.
Input data (params)
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "enum": [
        "wayforpay",
        "bank_personal",
        "bank_business",
        "cash"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "code"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: medium

payments.settings.list — Налаштування оплат

What it does: Повертає всі зареєстровані платіжні провайдери, checkout-представлення і стан налаштувань без secret_key.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesfinancial, shop_internal
Side effects
Additional AI safety context

What it touches: checkout.payments, payment_configuration

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: financial. Не передавай їх поза завданням.
  • Зміна впливає на варіанти оплати в checkout; секрети приймаються, але ніколи не повертаються.
Safer path
  • Спочатку налаштуй метод вимкненим, перевір реквізити й лише потім активуй.
Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

payments.settings.update — Оновити метод оплати

What it does: Частково оновлює налаштування зареєстрованого платіжного provider через чинні моделі та full_clean(). secret_key можна передати для WayForPay, але він не повертається у відповіді або журналі.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesfinancial, secret_input
Side effectscheckout_payment_options_changed, payment_credentials_may_change
Additional AI safety context

What it touches: checkout.payments, payment_configuration

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
  • Метод працює з чутливими класами даних: financial, secret_input. Не передавай їх поза завданням.
  • Зміна впливає на варіанти оплати в checkout; секрети приймаються, але ніколи не повертаються.
Preflight checks
  • payments.settings.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Safer path
  • Спочатку налаштуй метод вимкненим, перевір реквізити й лише потім активуй.
Input data (params)
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "enum": [
        "wayforpay",
        "bank_personal",
        "bank_business",
        "cash"
      ]
    },
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "translations": {
      "type": "object"
    }
  },
  "additionalProperties": false,
  "required": [
    "code",
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}

Клієнти (5)

read Risk: medium

customers.get — Дані клієнта

What it does: Повертає профіль користувача магазину й останні замовлення.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classescustomer_pii, financial
Side effects
Additional AI safety context

What it touches: customers

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: customer_pii, financial. Не передавай їх поза завданням.
Input data (params)
{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "customer_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: medium

customers.list — Список клієнтів і працівників

What it does: Повертає користувачів магазину з ролями; потрібний, зокрема, для явного author_user_id у внутрішніх коментарях.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classescustomer_pii
Side effects
Additional AI safety context

What it touches: customers

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: customer_pii. Не передавай їх поза завданням.
Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "role": {
      "type": "string",
      "enum": [
        "customer",
        "worker",
        "all"
      ]
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

customers.update — Оновити профіль клієнта

What it does: Частково змінює контактні дані й активність профілю; паролі, права та ролі не доступні.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classescustomer_pii
Side effectscustomer_profile_changed
Additional AI safety context

What it touches: customers

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
  • Метод працює з чутливими класами даних: customer_pii. Не передавай їх поза завданням.
Preflight checks
  • customers.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "integer",
      "minimum": 1
    },
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    }
  },
  "additionalProperties": false,
  "required": [
    "customer_id",
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

subscribers.delete — Видалити підписника

What it does: Видаляє email із підписок магазину.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classescustomer_pii
Side effectssubscriber_deleted
Additional AI safety context

What it touches: customers

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
  • Метод працює з чутливими класами даних: customer_pii. Не передавай їх поза завданням.
Input data (params)
{
  "type": "object",
  "properties": {
    "subscriber_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "subscriber_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: medium

subscribers.list — Підписники розсилки

What it does: Повертає email-підписників магазину.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classescustomer_pii
Side effects
Additional AI safety context

What it touches: customers

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: customer_pii. Не передавай їх поза завданням.
Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}

Відгуки (2)

write Risk: high Confirmation: required

reviews.delete — Видалити відгук

What it does: Видаляє відгук; чинний signal автоматично перерахує рейтинг товару.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classescustomer_pii
Side effectsreview_deleted, product_rating_recalculated
Additional AI safety context

What it touches: reviews, product_rating

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
  • Метод працює з чутливими класами даних: customer_pii. Не передавай їх поза завданням.
Input data (params)
{
  "type": "object",
  "properties": {
    "review_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "review_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: medium

reviews.list — Список відгуків

What it does: Повертає відгуки з фільтром товару й оцінки; містить email автора.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classescustomer_pii
Side effects
Additional AI safety context

What it touches: reviews, product_rating

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: customer_pii. Не передавай їх поза завданням.
Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "product_id": {
      "type": "integer",
      "minimum": 1
    },
    "rating": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}

Операції (47)

Склад (12)

read Risk: medium

warehouse.history.report — Склад на дату

What it does: Будує пагінований історичний звіт через чинний build_stock_history_page().

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required moduleswarehouse
Data classesfinancial
Side effects
Additional AI safety context

What it touches: warehouse, stock_movements

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: financial. Не передавай їх поза завданням.
Input data (params)
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "ISO datetime"
    },
    "category_id": {
      "type": "integer",
      "minimum": 1
    },
    "query": {
      "type": "string"
    },
    "only_positive": {
      "type": "boolean",
      "default": true
    },
    "page": {
      "type": "integer",
      "minimum": 1
    },
    "per_page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "additionalProperties": false,
  "required": [
    "date"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: medium

warehouse.movements.list — Рухи складу

What it does: Повертає незмінюваний журнал складських рухів з фільтрами товару й типу.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required moduleswarehouse
Data classesfinancial, shop_internal
Side effects
Additional AI safety context

What it touches: warehouse, stock_movements

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: financial. Не передавай їх поза завданням.
Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "product_id": {
      "type": "integer",
      "minimum": 1
    },
    "movement_type": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
read Risk: medium

warehouse.purchases.get — Дані закупівлі

What it does: Повертає закупівлю та її товарні партії.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required moduleswarehouse
Data classesfinancial
Side effects
Additional AI safety context

What it touches: warehouse, stock_movements

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: financial. Не передавай їх поза завданням.
Input data (params)
{
  "type": "object",
  "properties": {
    "purchase_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "purchase_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: medium

warehouse.purchases.list — Список закупівель

What it does: Повертає закупівлі, їх етап, суми та стан синхронізації.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required moduleswarehouse
Data classesfinancial
Side effects
Additional AI safety context

What it touches: warehouse, stock_movements

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Метод працює з чутливими класами даних: financial. Не передавай їх поза завданням.
Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "is_paid": {
      "type": "boolean"
    },
    "stage_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

warehouse.purchases.sync — Синхронізувати закупівлю

What it does: Викликає чинний request_purchase_sync(); залежно від обсягу виконує роботу одразу або через Celery.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required moduleswarehouse
Data classesfinancial
Side effectsphysical_stock_rows_rebuilt, background_task_may_start
Additional AI safety context

What it touches: warehouse, stock_movements

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
  • Метод працює з чутливими класами даних: financial. Не передавай їх поза завданням.
Preflight checks
  • warehouse.purchases.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "purchase_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "purchase_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

warehouse.revisions.create — Створити ревізію

What it does: Створює чернетку ревізії й рахує system_qty кожного рядка через available_stock_count().

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencysupported
Required moduleswarehouse
Data classesshop_internal
Side effectsstock_revision_draft_created
Additional AI safety context

What it touches: warehouse, stock_movements

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Проведення ревізії створює складські рухи та змінює фактичні залишки.
Preflight checks
  • warehouse.revisions.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • warehouse.stock.list — Звір поточний точний залишок перед формуванням fact_qty. (before_revision_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "comment": {
      "type": "string"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "integer",
            "minimum": 1
          },
          "fact_qty": {
            "type": "integer",
            "minimum": 0
          },
          "comment": {
            "type": "string"
          }
        }
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "items"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

warehouse.revisions.get — Дані ревізії

What it does: Повертає ревізію і всі її товарні рядки.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required moduleswarehouse
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: warehouse, stock_movements

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Potential hazards
  • Проведення ревізії створює складські рухи та змінює фактичні залишки.
Input data (params)
{
  "type": "object",
  "properties": {
    "revision_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "revision_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

warehouse.revisions.list — Список ревізій

What it does: Повертає складські ревізії та їх фоновий стан.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required moduleswarehouse
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: warehouse, stock_movements

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Potential hazards
  • Проведення ревізії створює складські рухи та змінює фактичні залишки.
Preflight checks
  • warehouse.stock.list — Звір поточний точний залишок перед формуванням fact_qty. (before_revision_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "status": {
      "type": "string",
      "enum": [
        "draft",
        "posted"
      ]
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

warehouse.revisions.post — Провести ревізію

What it does: Викликає чинний request_stock_revision_post(); операція може виконатися синхронно або перейти в Celery.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required moduleswarehouse
Data classesshop_internal
Side effectsstock_quantities_changed, stock_movements_created, background_task_may_start
Additional AI safety context

What it touches: warehouse, stock_movements

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
  • Проведення ревізії створює складські рухи та змінює фактичні залишки.
Preflight checks
  • warehouse.revisions.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • warehouse.stock.list — Звір поточний точний залишок перед формуванням fact_qty. (before_revision_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "revision_id": {
      "type": "integer",
      "minimum": 1
    },
    "author_user_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "revision_id",
    "author_user_id"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

warehouse.revisions.update — Оновити чернетку ревізії

What it does: Замінює рядки лише чернетки ревізії та заново фіксує system_qty через наявний сервіс залишку.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencysupported
Required moduleswarehouse
Data classesshop_internal
Side effectsstock_revision_draft_replaced
Additional AI safety context

What it touches: warehouse, stock_movements

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
  • Проведення ревізії створює складські рухи та змінює фактичні залишки.
Preflight checks
  • warehouse.revisions.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
  • warehouse.stock.list — Звір поточний точний залишок перед формуванням fact_qty. (before_revision_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "revision_id": {
      "type": "integer",
      "minimum": 1
    },
    "title": {
      "type": "string"
    },
    "comment": {
      "type": "string"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "revision_id",
    "items"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

warehouse.stock.list — Залишки товарів

What it does: Повертає кешований залишок SKU та, за потреби, точний доступний залишок із чинного available_stock_count().

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required moduleswarehouse
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: warehouse, stock_movements

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "only_positive": {
      "type": "boolean",
      "default": false
    },
    "exact": {
      "type": "boolean",
      "default": false
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
read Risk: low

warehouse.summary — Огляд складу

What it does: Повертає кількість SKU, доступних одиниць, чернеток ревізій і незавершених складських операцій.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required moduleswarehouse
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: warehouse, stock_movements

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}

Доставка (5)

read Risk: low

shipping.methods.list — Методи доставки

What it does: Повертає публічні увімкнені методи через чинний shipping.registry.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: checkout.shipping, shipping_configuration

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
read Risk: low

What it does: Викликає чинний cached search_cities() з обмеженням результатів.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: checkout.shipping, shipping_configuration

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "additionalProperties": false,
  "required": [
    "query"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

shipping.nova_poshta.warehouses.list — Відділення Нової пошти

What it does: Викликає чинний cached get_warehouses() за city_ref, settlement_ref або city_name.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: checkout.shipping, shipping_configuration

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "city_ref": {
      "type": "string"
    },
    "settlement_ref": {
      "type": "string"
    },
    "city_name": {
      "type": "string"
    },
    "query": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
read Risk: low

shipping.settings.get — Налаштування доставки

What it does: Повертає конфіг усіх зареєстрованих shipping providers з перекладами.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: checkout.shipping, shipping_configuration

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Potential hazards
  • Зміна впливає на варіанти доставки та поля, які побачить покупець у checkout.
Safer path
  • Спочатку збережи метод вимкненим або перевір його поточний settings snapshot.
Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

shipping.settings.update — Оновити метод доставки

What it does: Частково змінює is_active, title, description, address і переклади у settings_model зареєстрованого provider.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectscheckout_shipping_options_changed
Additional AI safety context

What it touches: checkout.shipping, shipping_configuration

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • Зміна впливає на варіанти доставки та поля, які побачить покупець у checkout.
Preflight checks
  • shipping.settings.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Safer path
  • Спочатку збережи метод вимкненим або перевір його поточний settings snapshot.
Input data (params)
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string"
    },
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "translations": {
      "type": "object"
    }
  },
  "additionalProperties": false,
  "required": [
    "code",
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}

Імпорт та експорт (20)

read Risk: medium

exchange.auto_import.get — Стан автоматичного імпорту

What it does: Повертає активність, графік, політику дублікатів і managed_fields автоімпорту без повного source URL. Використовуй перед ручним оновленням товарів, щоб побачити, які поля може перетерти наступний запуск.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
  • managed_fields — консервативний список полів, які наступний автоімпорт може оновити.
Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
read Risk: low

exchange.catalog — Можливості імпорту й експорту

What it does: Повертає системні пресети, field registries, трансформації та marketplace providers із чинних registry-функцій.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

exchange.export_presets.create — Створити експортний пресет

What it does: Створює пресет і колонки, перевіряючи поля та transforms чинними registry validators.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencysupported
Required modulesimport_export
Data classesshop_internal
Side effectsexport_preset_created
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • exchange.export_presets.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "columns": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "data",
    "columns"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

exchange.export_presets.delete — Видалити експортний пресет

What it does: Видаляє кастомний пресет, колонки й пов'язані data gateways каскадно.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effectsexport_preset_and_gateways_deleted
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • exchange.export_presets.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "preset_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "preset_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

exchange.export_presets.get — Дані експортного пресету

What it does: Повертає кастомний експортний пресет і колонки через get_runtime_custom_preset().

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "preset_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "preset_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

exchange.export_presets.list — Експортні пресети

What it does: Повертає системні й кастомні експортні пресети через чинні serializers.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

exchange.export_presets.update — Оновити експортний пресет

What it does: Частково оновлює пресет і атомарно замінює колонки через чинні validators.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effectsexport_preset_changed
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • exchange.export_presets.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "preset_id": {
      "type": "integer",
      "minimum": 1
    },
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "columns": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "preset_id",
    "patch",
    "columns"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

exchange.gateways.create — Створити data gateway

What it does: Створює публічний gateway через DataGateway.clean() і необов'язковий IP allowlist.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effectspublic_export_endpoint_created
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • exchange.gateways.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "allowed_ips": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "data"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

exchange.gateways.delete — Видалити data gateway

What it does: Видаляє публічний data gateway та IP allowlist.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effectspublic_export_endpoint_deleted
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • exchange.gateways.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "gateway_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "gateway_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

exchange.gateways.get — Дані data gateway

What it does: Повертає один публічний data gateway.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "gateway_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "gateway_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

exchange.gateways.list — Публічні data gateways

What it does: Повертає публічні URL експорту, джерела пресетів і IP allowlist.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

exchange.gateways.update — Оновити data gateway

What it does: Частково оновлює gateway і за потреби атомарно замінює IP allowlist.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effectspublic_export_endpoint_changed
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • exchange.gateways.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "gateway_id": {
      "type": "integer",
      "minimum": 1
    },
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "allowed_ips": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "gateway_id",
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

exchange.import_presets.create — Створити імпортний пресет

What it does: Створює імпортний пресет і колонки, перевіряючи target fields і transforms чинними registry validators.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencysupported
Required modulesimport_export
Data classesshop_internal
Side effectsimport_preset_created
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • exchange.import_presets.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "columns": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "data",
    "columns"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

exchange.import_presets.delete — Видалити імпортний пресет

What it does: Видаляє кастомний імпортний пресет і його колонки.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effectsimport_preset_deleted
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • exchange.import_presets.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "preset_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "preset_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

exchange.import_presets.get — Дані імпортного пресету

What it does: Повертає кастомний імпортний пресет і колонки через get_runtime_custom_import_preset().

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "preset_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "preset_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

exchange.import_presets.list — Імпортні пресети

What it does: Повертає системні й кастомні імпортні пресети через чинний payload builder.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

exchange.import_presets.update — Оновити імпортний пресет

What it does: Частково оновлює пресет і атомарно замінює колонки через чинні validators.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effectsimport_preset_changed
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • exchange.import_presets.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "preset_id": {
      "type": "integer",
      "minimum": 1
    },
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    },
    "columns": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "preset_id",
    "patch",
    "columns"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

exchange.operations.cancel — Скасувати операцію обміну

What it does: Скасовує активну Celery-задачу, якщо вона є, і завершує операцію через чинний cancel_exchange_operation().

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effectsbackground_task_revoked, exchange_operation_cancelled
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Input data (params)
{
  "type": "object",
  "properties": {
    "operation_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "operation_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

exchange.operations.get — Дані операції обміну

What it does: Повертає один статус імпорту/експорту та error_json.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "operation_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "operation_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

exchange.operations.list — Операції обміну

What it does: Повертає історію імпорту/експорту через чинний serialize_operation().

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modulesimport_export
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: catalog.import_export, background_operations

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "status": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}

Канали сповіщень (6)

write Risk: high Confirmation: required

notifications.channels.create — Створити канал

What it does: Створює канал; provider.clean_config() викликається чинним model.clean(). Секрети приймаються, але не повертаються й редагуються в аудиті.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsnotification_channel_created
Additional AI safety context

What it touches: notifications, delivery_logs

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • notifications.channels.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string"
    },
    "data": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    }
  },
  "additionalProperties": false,
  "required": [
    "kind",
    "data"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

notifications.channels.delete — Видалити канал

What it does: Видаляє канал; delivery logs залишаються з channel=null.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsnotification_channel_deleted
Additional AI safety context

What it touches: notifications, delivery_logs

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • notifications.channels.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string"
    },
    "channel_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "kind",
    "channel_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: medium

notifications.channels.get — Дані каналу

What it does: Повертає один канал без секретних значень конфігурації.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: notifications, delivery_logs

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Input data (params)
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string"
    },
    "channel_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "kind",
    "channel_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: medium

notifications.channels.list — Канали сповіщень

What it does: Повертає customer/form і merchant канали, schema провайдерів та ознаки налаштованих секретів без самих секретів.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: notifications, delivery_logs

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "kind": {
      "type": "string",
      "enum": [
        "form",
        "merchant"
      ]
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

notifications.channels.update — Оновити канал

What it does: Частково оновлює канал; відсутні секретні поля зберігаються, передані — замінюються й не повертаються.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsnotification_channel_changed
Additional AI safety context

What it touches: notifications, delivery_logs

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • notifications.channels.get — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string"
    },
    "channel_id": {
      "type": "integer",
      "minimum": 1
    },
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    }
  },
  "additionalProperties": false,
  "required": [
    "kind",
    "channel_id",
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: medium

notifications.delivery_logs.list — Журнал доставок

What it does: Повертає журнали customer/form або merchant повідомлень без повного HTML та секретів.

AccessreadRiskmedium
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: notifications, delivery_logs

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    },
    "kind": {
      "type": "string",
      "enum": [
        "form",
        "merchant"
      ]
    },
    "status": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}

Редиректи (4)

write Risk: medium Confirmation: recommended

redirects.create — Створити редирект

What it does: Створює правило base_path → target_url через чинну модель.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsrouting_changed
Additional AI safety context

What it touches: storefront.routing

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • redirects.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "base_path": {
      "type": "string"
    },
    "target_url": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "required": [
    "base_path",
    "target_url"
  ]
}
Result (data)
{
  "type": "object"
}
write Risk: high Confirmation: required

redirects.delete — Видалити редирект

What it does: Видаляє правило редиректу.

AccesswriteRiskhigh
ConfirmationrequiredIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsrouting_changed
Additional AI safety context

What it touches: storefront.routing

Decision rule: Отримай явне підтвердження конкретної дії безпосередньо перед викликом.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Дію може бути складно або неможливо скасувати; потрібне підтвердження точної операції.
Preflight checks
  • redirects.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "redirect_id": {
      "type": "integer",
      "minimum": 1
    }
  },
  "additionalProperties": false,
  "required": [
    "redirect_id"
  ]
}
Result (data)
{
  "type": "object"
}
read Risk: low

redirects.list — Список редиректів

What it does: Повертає правила редиректів магазину.

AccessreadRisklow
ConfirmationnoneIdempotencynot_needed
Required modules
Data classesshop_internal
Side effects
Additional AI safety context

What it touches: storefront.routing

Decision rule: Можна викликати без підтвердження, але запитуй лише потрібні дані й не роби зайвих змін.

Input data (params)
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Пошук за текстовими полями."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "default": 0
    }
  },
  "additionalProperties": false
}
Result (data)
{
  "type": "object"
}
write Risk: medium Confirmation: recommended

redirects.update — Оновити редирект

What it does: Частково змінює source і target правила редиректу.

AccesswriteRiskmedium
ConfirmationrecommendedIdempotencynot_needed
Required modules
Data classesshop_internal
Side effectsrouting_changed
Additional AI safety context

What it touches: storefront.routing

Decision rule: Спочатку виконай preflight, покажи користувачу наслідок і віддай перевагу вузькому методу.

Potential hazards
  • Змінює live-стан магазину; результат і помилки записуються в AI-журнал.
  • Помилка може змінити поведінку магазину або дані; покажи очікуваний результат до запису.
Preflight checks
  • redirects.list — Прочитай поточний стан і не перезаписуй поля, яких користувач не просив змінювати. (before_write)
Input data (params)
{
  "type": "object",
  "properties": {
    "redirect_id": {
      "type": "integer",
      "minimum": 1
    },
    "patch": {
      "type": "object",
      "description": "Частковий набір дозволених полів."
    }
  },
  "additionalProperties": false,
  "required": [
    "redirect_id",
    "patch"
  ]
}
Result (data)
{
  "type": "object"
}