НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
113 of 152 menu

Таблица oc_api

Таблица oc_api хранит информацию о ключах доступа и настройках API, которые используются для авторизации внешних запросов к системе OpenCart. API позволяет другим программам (например, мобильным приложениям, CRM-системам, сторонним сервисам) получать и изменять данные магазина (товары, заказы, клиентов) в автоматическом режиме.

Поля

Поле Тип данных Описание
api_id int Уникальный идентификатор (первичный ключ) записи API.
name varchar(64) Название или описание API-пользователя. Задается для удобства идентификации (например, "Мобильное приложение", "Интеграция с 1С").
key text Секретный ключ API. Это длинная случайная строка, которая используется для подписи запросов и авторизации. Ключ должен передаваться в каждом запросе к API.
status tinyint(1) Статус API-доступа:
  • 0 - отключен
  • 1 - включен
date_added datetime Дата и время создания записи API.
date_modified datetime Дата и время последнего изменения записи API.

Как это работает

Перед тем как внешняя система сможет делать запросы к API OpenCart, в панели администратора необходимо создать учетную запись API (Настройки > Пользователи > API). При создании генерируется уникальный секретный ключ (key), который записывается в эту таблицу.

Для выполнения любого запроса к API (например, /api/order/history&order_id=123) внешнее приложение должно передать в заголовках запроса или параметрах этот ключ. Система OpenCart ищет переданный ключ в таблице oc_api. Если ключ найден и запись активна (status = 1), запрос считается авторизованным и выполняется. В противном случае возвращается ошибка доступа.

Разные ключи API можно создавать для разных сервисов и приложений. Это позволяет независимо управлять доступом (включать/отключать) для каждой интеграции, а также отслеживать, какое приложение совершило тот или иной запрос.

Важно отметить, что сама таблица oc_api отвечает только за аутентификацию (проверку подлинности ключа). Настройки прав доступа (разрешения на чтение/запись для разных сущностей: товары, заказы и т.д.) для данного API задаются в панели администратора и хранятся в других таблицах системы (например, oc_api_session, oc_api_ip).

Пример SQL-запроса

Выбрать все активные ключи API можно следующим запросом:

SELECT api_id, name, `key`, date_added FROM oc_api WHERE status = 1;

Проверить существование и валидность конкретного ключа:

SELECT api_id, name FROM oc_api WHERE `key` = 'your_long_secret_api_key_here' AND status = 1;

Смотрите также

  • таблицу oc_api_session,
    которая хранит активные сессии API
  • таблицу oc_api_ip,
    которая содержит IP-адреса, разрешенные для доступа к API
  • таблицу oc_user,
    которая хранит учетные записи администраторов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить