Магазин
Аккаунт и домены можно читать и менять, если у приложения есть право на настройки магазина.
Действия приложения описаны в приложениях. Доставка и точки самовывоза описаны в доставке. Единицы измерения товара — в товарах. Склады и валюты склада — в складах. Способы оплаты — в оплате.
Если нужного права нет, ответ 403:
{"status":"error","message":"Недостаточно прав для операции"}
Дополнительные поля заказа, клиента и адреса — в заказах и клиентах.
Аккаунт
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, которые заказ сохраняет при оформлении. Это регулярные выражения, каждое с новой строки.
| Параметр | Описание |
|---|---|
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, в теле статус ошибки.
| Параметр | Описание |
|---|---|
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.
| Параметр | Описание |
|---|---|
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 домена этого ключа нет.
| Параметр | Описание |
|---|---|
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, тело пустое.