Быстрый старт¶
Первый запрос — чтение списка товаров. Он ничего не меняет, и по его ответу сразу видно, принят ли ключ.
Ключ¶
Ключ выдаётся в самом продукте: меню профиля → Настройки пользователя → вкладка Json API → Показать API ключ. Окно спросит пароль пользователя и покажет ключ. Ключ свой у каждого пользователя.
Ключ наследует права своего пользователя. Один и тот же эндпоинт, вызванный
ключом администратора и ключом кассира, ответит по-разному: там, где кассир
получает ERROR_USER_ACCESS, операция ему недоступна.
Запрос¶
curl -s "https://app.masterkassa.com/api/products" \
-H "Authorization: Bearer <ключ>" \
-H "Accept: application/json"
Без заголовка Accept вместо JSON приходит HTML страницы входа, и разбор
падает не на коде ответа, а на первом же символе тела.
Параметры:
| Параметр | Тип | Ограничения |
|---|---|---|
limit |
int | диапазон 1..100, по умолчанию 100 |
offset |
int | по умолчанию 0 |
Ответ¶
{
"meta": {
"allCount": 42,
"count": 2,
"limit": 10,
"offset": 40
},
"data": [
{
"id": 10,
"name": "Ведро пластмассовое 8л",
"sku": "ФР-12548",
"minPrice": 825.25,
"purchasePrice": 750.0,
"salePrice": 1050.0,
"unit": "шт",
"vat": 20,
"order": 1254,
"code": 287,
"weight": 0.75,
"dimensionX": 30,
"dimensionY": 30,
"dimensionZ": 65,
"parent": 0,
"brand": {
"id": 5,
"name": "APLAST"
},
"category": {
"id": 74,
"name": "Ведра"
},
"barcodes": [
"2017480051093",
"2017480051161"
]
},
{
"id": 10,
"name": "Ведро пластмассовое 8л",
"sku": "ФР-12548",
"minPrice": 825.25,
"purchasePrice": 750.0,
"salePrice": 1050.0,
"unit": "шт",
"vat": 20,
"order": 1254,
"code": 287,
"weight": 0.75,
"dimensionX": 30,
"dimensionY": 30,
"dimensionZ": 65,
"parent": 0,
"brand": {
"id": 5,
"name": "APLAST"
},
"category": {
"id": 74,
"name": "Ведра"
},
"barcodes": [
"2017480051093",
"2017480051161"
]
}
]
}
Выборка постраничная: за раз приходит не больше limit записей. В проверочном вызове их было 4741.
Если что-то пошло не так¶
Если вместо JSON пришёл HTML — потерян заголовок Accept. Если пришёл
ERROR_NO_API_KEY — ключ не дошёл или неверен; ERROR_USER_ACCESS — ключ
рабочий, но у его пользователя нет прав на эту операцию.
Полный список кодов — Ошибки API.
Дальше¶
- Товары и услуги — списки, карточка, создание, правка, цены
- Контрагенты — список, карточка, создание и правка
- Продажи, Закупки, Деньги — чтение документов
- Запись в два шага — как устроена любая запись