☰ Меню · Сканування
Довідник API

Сканування

Перетворює те, що прочитав сканер, на учасника та доступні для нього дії.

POST/v1/scans
Право: members:read або devices:write

Знаходить учасника за відсканованим значенням і перелічує, що пристрій може зробити далі. Нічого не нараховується і не списується. Надсилає подію member.scanned. Якщо збігів немає, повертає 404 member_not_found.

codestring, обов’язковий
Рівно те, що видав сканер: номер картки, вміст QR, Code 128 з префіксом ]C1 або без нього, посилання на сторінку картки чи телефон. Переноси рядків і табуляції видаляються.
device_idstring
Ваш id пристрою, передається в подію.
curl
curl https://loyaltyfy.io/api/v1/scans \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{ "code": "]C14285324286429\r", "device_id": "door-1" }'
Відповідь · 200
{
  "object": "scan",
  "matched": true,
  "matched_by": "4285324286429",
  "device_id": "door-1",
  "mechanic": "stamps",
  "member": {
    "object": "member",
    "card_number": "4285324286429",
    "first_name": "Ana",
    "stamps": { "current": 1, "required": 5, "rewards_available": 0 },
    ...
  },
  "actions": [
    { "type": "visit", "method": "POST", "path": "/v1/visits" },
    { "type": "transaction", "method": "POST", "path": "/v1/transactions" }
  ]
}
action.typeЗначення
visitПрограма винагороджує за візити: POST /v1/visits дозволено.
transactionМожна провести чек через POST /v1/transactions.
redeem_rewardНа гостя чекає нагорода за штампи. path містить запит, який треба зробити, available показує кількість.
redeem_cashbackЄ баланс. max_amount дорівнює балансу, ліміт на один чек задає redeem_max_percent.