☰ Меню · Сканирования
Справочник 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. |