Перейти к содержанию

Магазин

Аккаунт и домены можно читать и менять, если у приложения есть право на настройки магазина.

Действия приложения описаны в приложениях. Доставка и точки самовывоза описаны в доставке. Единицы измерения товара — в товарах. Склады и валюты склада — в складах. Способы оплаты — в оплате.

Если нужного права нет, ответ 403:

{"status":"error","message":"Недостаточно прав для операции"}

Дополнительные поля заказа, клиента и адреса — в заказах и клиентах.

Аккаунт

GET /admin/account.json возвращает объект магазина, в котором авторизовано приложение. Отдельного метода списка аккаунтов нет.

GET/admin/account.json
GET /admin/account.json
Authorization: Basic API_KEY:API_PASSWORD
Accept: application/json

Ответ · 200

{
  "id": 233686,
  "title": "Мой магазин",
  "subdomain": "demo",
  "main_host": "demo.myinsales.ru",
  "main_host_protocol": "https",
  "email": "owner@example.com",
  "phone": null,
  "country": "RU",
  "city": "Москва",
  "state": "г Москва",
  "time_zone": null,
  "organization": null,
  "notification_email": null,
  "next_order_number": 1005,
  "client_cookies_whitelist": null,
  "stock_currency_exchange_rate": 1.0,
  "default_vat": -1,
  "blocked": false,
  "paid_till": "2026-10-25",
  "owner": {
    "id": 6178456,
    "name": "",
    "email": "owner@example.com",
    "created_at": "2026-10-19T21:43:12.000+03:00"
  }
}

В том же объекте есть флаги скидок enable_cart_discounts, enable_client_discounts, enable_group_discounts, enable_order_discounts, а также hide_items_out_of_stock, contact_phone, sms_notification_phone, icq, registration_type_id, inviter_id, created_at.

stock_currency_exchange_rate — курс валюты склада по умолчанию к валюте сайта. При одинаковой валюте курс равен 1.0. Как задать валюту — в складах.

Через PUT /admin/account.json можно изменить next_order_number и client_cookies_whitelist. Название, организация, город и остальные поля из ответа на чтение этим запросом не меняются.

API возвращает HTTP-статус 200 как при успешном сохранении, так и при ошибке проверки полей. Проверяйте тело ответа: при успехе оно содержит {"status":"ok"}.

next_order_number задаёт номер следующего заказа. Новое значение должно быть больше максимального номера существующего заказа.

client_cookies_whitelist определяет, какие cookie сохраняются в заказе при оформлении. Передайте регулярные выражения, по одному на строку.

PUT/admin/account.json
Параметр Описание
account[next_order_number] необязательный
число
Номер следующего заказа. Больше максимального номера существующих заказов.
account[client_cookies_whitelist] необязательный
строка
Регулярные выражения имён cookie, по одному на строку. Пустая строка очищает список.
PUT /admin/account.json
Authorization: Basic API_KEY:API_PASSWORD
Accept: application/json
Content-Type: application/json

{
  "account": {
    "next_order_number": 1005,
    "client_cookies_whitelist": "docs_api",
    "title": "Чужое название"
  }
}

Ответ · 200

{"status": "ok"}

Следующий GET возвращает записанные next_order_number и client_cookies_whitelist. title не меняется.

Если новый номер не превышает текущий максимальный, API возвращает 200 с описанием ошибки в теле:

PUT/admin/account.json
Параметр Описание
account[next_order_number] обязательный
число
Номер, который не больше максимального номера заказа.
PUT /admin/account.json
Authorization: Basic API_KEY:API_PASSWORD
Accept: application/json
Content-Type: application/json

{
  "account": {
    "next_order_number": 1
  }
}

Ответ · 200

{
  "status": "error",
  "errors": {
    "next_order_number": ["может иметь лишь значение большее 1004"]
  }
}

Число в сообщении об ошибке — максимальный номер заказа в магазине. Уменьшить сохранённый next_order_number с нарушением того же ограничения нельзя.

Домены

GET /admin/domains.json возвращает домены магазина, начиная с основного. Технический адрес магазина на поддомене платформы в список не включается. Если доменов нет, возвращается [].

При создании домена API удаляет схему, путь и префикс www.. Например, https://www.docs-api-shop.example/path сохраняется как docs-api-shop.example. Поддомен третьего уровня, например msk.docs-api-shop.example, сохраняется целиком.

POST/admin/domains.json
Параметр Описание
domain[domain] обязательный
строка
Имя домена. Схема, путь и www отбрасываются.
domain[main] необязательный
логический
Признак основного домена. При создании можно не передавать.
POST /admin/domains.json
Authorization: Basic API_KEY:API_PASSWORD
Accept: application/json
Content-Type: application/json

{
  "domain": {
    "domain": "https://www.docs-api-shop.example/path"
  }
}

Ответ · 201

{
  "id": 4310871,
  "domain": "docs-api-shop.example",
  "main": false,
  "created_at": "2026-10-21T22:21:32.000+03:00",
  "updated_at": "2026-10-21T22:21:32.000+03:00"
}

Первый добавленный домен не становится основным автоматически. Чтобы назначить его основным, отправьте PUT /admin/domains/4310871.json с {"domain":{"main":true}}. API вернёт 200 и "main": true. Пока домен не настроен, main_host аккаунта продолжает содержать технический адрес.

Повтор того же имени — 422, тело {"domain":["Вы уже добавили этот домен"]}. Имя без точки — 422, тело {"domain":["Неверный формат имени домена","Неверный формат имени домена"]}: сообщение приходит дважды. Имя с insales.ru — 422, тело {"domain":["Домен не должен содержать в себе слова insales или ekam"]}.

DELETE /admin/domains/:id.json отвечает 200, тело пустое.