Third-party integrations#
Snippe (payments)#
Snippe powers mobile money collections and hosted checkout. Configure the API
key in your project's payments settings, then use
snippe/initiate and
snippe/session.
- Mobile money networks: Airtel Money, M-Pesa, Mixx by Yas, Halotel
- Payment status is pollable via
snippe/status/{reference} - Callbacks arrive as HMAC-signed webhook deliveries
M-Pesa#
STK push integration: configure your Daraja consumer key/secret, then call
mpesa/stk-push. The customer authorizes on their
phone; RafikiDB stores the transaction and notifies your webhook endpoint.
the realtime server (realtime)#
the realtime server v6 is the realtime server behind the WebSocket transport.
- Channel pattern:
project:{project_id}:{table} - Server publishes every data write via the HTTP API
- Clients connect with a scoped JWT from
POST /realtime/connect - Channel history (100 events / 10 min) powers recovery
Self-hosting: the provided docker-compose.yml runs the realtime server on :8000
(WebSocket + API) and :9000 (admin). For multi-node deployments, configure a
shared Redis broker:
REALTIME_BROKER_REDIS_ADDRESS=redis:6379
REALTIME_ENGINE_REDIS_ADDRESS=redis:6379
TextObject storage (S3-compatible)#
Storage uses the S3 protocol, so it works with any S3-compatible server (SeaweedFS, Garage, MinIO, AWS S3, Cloudflare R2).
- Endpoint configured per environment (
MINIO_ENDPOINT) - Presigned upload/download URLs issued by the API
- Public buckets serve objects without auth
Self-hosting: the provided docker-compose.yml runs SeaweedFS with the S3
gateway on :8333.