API v1 · SANDBOX

Свържи касата.
Останалото следва.

Карти за лоялност, текуща сметка, точки и кампании — през един API за търговци и софтуерни партньори.

↓ OpenAPI 3.1 Ръководство

Работеща тестова среда

Заявките се записват в Laravel базата MySQL. Sandbox плащанията и push доставката са симулации. Native live бележката е свързана с IRIS тестовата среда; реални преводи и FCM/APNs доставка не са проверени. Клиентският и бизнес порталът използват същата база. API ключовете се управляват след вход с търговски профил.

BASE URL

Достъп от сървър на партньор

Authorization: Bearer $PUSHCARD_API_KEY
Content-Type: application/json
Idempotency-Key: уникален-идентификатор

За локалния Laravel API е нужен само tenant bearer ключ. Sites служебният ключ се отнася единствено за отделната частна Worker демонстрация. Не го използвай в Laravel интерфейсите.

Ключ за твоята интеграция

Само собственикът може да издава и отнема ключове. Всеки ключ е ограничен до един търговец и избраните права. Тайната се показва веднъж.

Права на ключа
Все още няма издаден ключ в тази сесия.

Отделен sandbox тест без IRIS

Създава тестова регистрация, каса и сметка за 2,99 EUR, приема картата и симулира плащане. Записите остават в базата. Използвай ключ с всички права за този тест.

Demo каса

Настрой интеграцията и касата в бизнес портала. В Demo tool приемаш входящи Push заявки, маркираш артикули и финализираш бележката.

Настрой в бизнес портала Отвори Demo касата

От картата до плащането

  1. Подготви касата: POST /tills. Поддръжката на push се задава с card_push_supported.
  2. Изпрати картата: POST /pos-sessions с card_id и till_id.
  3. Касата приема: GET /tills/{till_id}/sessions, след това POST /pos-sessions/{id}/accept.
  4. Покажи маркираното: PUT /pos-sessions/{id}/basket. Клиентът чете GET /pos-sessions/{id}.
  5. Финализирай сметката: POST /pos-sessions/{id}/finalize. Едва тогава POST /payments.
  6. Потвърди тестовото плащане: POST /sandbox/payments/{id}/complete. Точките се начисляват веднъж.
pending → accepted → marking → finalized → paid
            ↑ обновяване на сметката ↑
Отказ: cancelled · Изтекла заявка: expired

Потокът свързва автоматично картата, касата и сумата. Demo касата маркира през API, а клиентът плаща през IRIS от live бележката. IRIS плащанията се потвърждават само сървърно; sandbox complete не може да ги приключи.

Маршрути и примери

Разгъни маршрут за заявка и JSON схема на отговора. Всички пътища са спрямо /api/v1.

Правила за интеграция

КодДействие
400 / 413Поправи входните данни / размера (64 KiB).
401 / 403Провери ключа, правата и частния достъп.
404Ресурсът не съществува за този търговец.
409Провери състоянието, revision или повторната заявка.
503Временен проблем. Повтори безопасно със същия ключ.

Данни и граници

Регистрите за търговеца връщат идентификатори, маскиран номер, тип карта и баланс. Имена, имейли, телефони и фирмени имена не се връщат от тези маршрути. Контактите и корпоративните метаданни се съхраняват криптирано; API ключовете — като хеш.

Картата остава псевдонимен клиентски запис. Ключовете за регистрация и под профили са само за доверена сървърна интеграция. Регистрацията на клиент през адреса на търговеца изисква вход в клиентски профил. Не поставяй API ключ в QR код.

Промоциите имат период, обекти и аудитория. Push задачите броят само картите с маркетингово съгласие; не представляват реално доставени съобщения. Клиентът има локално филтриране по координати и IRIS адаптер. Външна push доставка и production lifecycle/лимити предстоят.