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

Магазин

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

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

Если нужного права нет, ответ 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": "abc",
  "main_host": "abc.insales.io",
  "main_host_protocol": "http",
  "email": "demo@demo.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": "demo@demo.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. Название, организация, город и остальные ключи из ответа остаются прежними. Успех и ошибка полей приходят с 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 не меняется.

Номер не больше текущего максимального тоже отвечает 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 отдаёт домены магазина, основной первым. Технический поддомен *.insales.io в этот список не входит. Пустой магазин отвечает [].

Создание снимает схему, путь и префикс 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}} отвечает 200 и "main": true. Пока домен не настроен, main_host аккаунта остаётся техническим адресом.

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

GET /admin/domains/:id/verify.json отдаёт ключ проверки домена обычным текстом, заголовок Content-Type: text/plain. В JSON домена этого ключа нет.

GET/admin/domains/4310871/verify.json
Параметр Описание
id обязательный
число
id домена в пути.
GET /admin/domains/4310871/verify.json
Authorization: Basic API_KEY:API_PASSWORD
Accept: application/json

Ответ · 200

550bc1e32be444a8e10558ef5e4fe04f

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