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

Быстрый старт

Первый запрос — чтение списка товаров. Он ничего не меняет, и по его ответу сразу видно, принят ли ключ.

Ключ

Ключ выдаётся в самом продукте: меню профиля → Настройки пользователя → вкладка 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.

Дальше