Integrations

Tills, shops and messaging, connected

Everything a shop already runs keeps running. Tills and sites call one till API, online orders arrive by webhook, and messages leave through the providers you hold the accounts with.

Till API · /v2

One base URL for every cash register and shop site

A till identifies the buyer by phone, e-mail, card number or a code from the app, asks for a quote, and commits the receipt after payment. Each call is a POST with a JSON body and a bearer key issued in the back office; keys bind to a location or stay global.

The engine does the money work: first-match rules, split of the write-off across earned, gifted and promo balances, caps per item and per cart, promo codes, gift certificates, a reserve that holds points while the cashier finishes, confirmation codes for write-off, receipt texts, and idempotency by the external receipt id so a retried request never doubles a sale.

Amounts travel in the tenant's currency with its own number of decimals (euros with two, yen with none) and are stored in minor units. One point equals one unit of currency.

GroupCallsExamples
Customer14buyer-register, buyer-info, buyer-edit, buyer-bonus, purchase-list, groups
Purchase10purchase-dry-run, purchase, purchase-info, edit, cancel, change status, purchase-request with a reserve, write-off-request
Confirmation codes5send and verify registration, write-off and custom codes
Gift certificates4issue, check, redeem, cancel
Mobile app, additional, service8app tokens, promo code check, health
All 41 calls of the till API
POST /v2/purchase
Authorization: Bearer <till key>

{
  "phone": "+4915112345678",
  "external_purchase_id": "receipt-2026-10-22-0417",
  "sale_point": "Berlin Mitte",
  "write_off_bonus": 10,
  "items": [
    { "name": "Espresso beans 1 kg", "amount": 100.50, "quantity": 1 },
    { "name": "Filter paper",        "amount": 20.00,  "quantity": 2 }
  ]
}

HTTP 200
{
  "success": true,
  "purchase_amount": 120.5,
  "payment_amount": 110.5,
  "total_write_off_bonus": 10,
  "total_write_on_bonus": 11,
  "balance": 51,
  "items": [
    { "amount": 100.5, "payment": 90.5, "write_on_bonus": 9, "write_off_available": 51 },
    { "amount": 20,    "payment": 20,   "write_on_bonus": 2, "write_off_available": 51 }
  ],
  "print_on_check": "You earned 11 points. Balance: 51."
}
Till keys settings with two keys bound to a store and to an online shop

POS API · /pos/v1

A compact protocol for terminals

Sixteen calls for a terminal that only needs to register a purchase, look up a member by phone or card, hold a redemption and confirm it with a code. Authenticated with an API key header, bound to a location, rate limited per key.

POS API reference
  • Member lookup and registration from the terminal
  • Purchase registration with items and the cashier
  • Redemption hold, confirmation by one-time code, release
  • Referral code check at the till

Shopify and WooCommerce

Online orders earn and redeem like receipts at the till

Shopify

Connect a store with its Admin API token in the integrations screen. Loyalti registers webhooks for paid orders, cancelled orders and refunds, maps the order lines to the catalog and runs them through the same till engine, so rules, caps and point expiry apply to the shop exactly as to the store.

  • Customer matched by e-mail or phone, created on first order with consent flags
  • Refunds reverse the accrual of the refunded lines only
  • Members issue a discount code from their points in the portal; the code is created in Shopify and tracked until used
  • Webhook signatures verified, events stored and replayable

WooCommerce

REST credentials of the shop and a webhook secret. Order created, updated, paid and refunded events feed the engine; order status policy decides which statuses count as a sale and which as a return.

  • Coupon codes issued from points and consumed in the shop
  • Catalog sync: products, categories and variants for rules and restrictions
  • The same member, balance and history across the shop and the stores
Integrations screen with Shopify and WooCommerce cards among the providers

Bitrix24

CRM in sync with the programme

Members, their balances and purchases are pushed to Bitrix24 contacts and deals; Bitrix24 webhooks bring new contacts and deal changes back. Field mapping and the direction of sync are configured per tenant.

  • Contact and deal mapping with custom fields for balance and tier
  • Incoming webhook endpoint with a shared secret
  • Sync log and retry from the integrations screen

Messaging channels

Six channels, one message, the right one per member

ChannelProviderWhat is supported
SMSTwilioSender id or messaging service, delivery receipts by status callback, one-time codes for registration and write-off, campaign sends in the recipient's timezone
WhatsAppTwilio WhatsApp BusinessApproved content templates with variables, session messages, one-time codes, campaign channel with fallback to SMS
TelegramYour botLinking by deep link, campaign messages, one-time codes, balance and history replies, menu in the member's language
ViberViber botCampaign messages with buttons, linking from the portal, delivery status
E-mailAny SMTPTemplates per event, the e-mail maker for campaigns, open and click tracking, platform e-mails for verification and passwords
PushAPNs and FCMDevice tokens from the app, campaign pushes, Wallet pass updates

Provider credentials are entered once in the super-admin panel and stored encrypted. Each tenant chooses sender names, templates and the channel priority used when a campaign is set to fall back. A sandbox mode delivers only to listed test recipients, so a staging tenant never writes to real customers.

Notification channels settings with sandbox recipients and channel cards

Apple Wallet and Google Wallet

A card the till scans and the phone keeps current

A loyalty pass with the member's name, balance and tier, a barcode or QR for the till, and your colours and logo. The pass is issued from the portal or a link in a message; the balance on the pass updates after each purchase through pass updates.

  • Apple Wallet with your pass certificate, Google Wallet with a service account
  • Electronic cards dashboard: issued, installed, active, redemptions from cards
  • Plastic and digital cards share the same card number

Outgoing webhooks

Your systems hear about every event

Endpoints with a signing secret subscribe to member, points, tier and order events. Deliveries are logged with the response and retried from an outbox, so an ERP, a BI pipeline or a CDP stays in step without polling.

Webhooks settings with an endpoint subscribed to member and points events
EventWhen
member.createdA member registers from any source
member.updatedProfile, consents or labels change
points.earnedA receipt, a grant or a scenario adds points
points.redeemedPoints pay for a purchase or a code
points.expiredPoints reach their expiry
tier.upgraded, tier.downgradedA member moves between tiers
order.approved, order.canceledAn order is settled or reversed

Mobile app

A branded app for iOS and Android, built on the same API

The member portal covers the browser; when a brand wants its own app, we build one on the Platform API and the Till API: balance and history, a Wallet card, offers and campaigns, push notifications, registration and phone confirmation, a QR code for the till. Delivered as a custom project alongside the platform, for both platforms.

  • Mobile app tokens and device registration are part of the till API
  • Push through APNs and FCM is already wired for campaigns
  • The app uses the same member, balance and rules as the stores and the shop

Backups

Scheduled dumps to S3, restore from the screen

A backup service dumps the database on schedule, keeps a retention window locally and in any S3-compatible bucket, and logs every run. Restore of a tenant or the whole platform runs from the back office; a restore endpoint accepts a dump up to a gigabyte.

Monitoring

Prometheus, Grafana, Loki and Alertmanager included

The platform exposes a health endpoint and a metrics endpoint with request, queue and till counters. The monitoring stack ships with dashboards and alert rules; the super-admin panel shows queues, logs and alerts without leaving the product.