sApp
The SDK for building on Superroute: on phones, the web, the desktop and the server.
sApp is the SDK for building on Superroute. It has one client per language, made from the same API description, so every platform calls Superroute the same way. Apps use the same accounts, orders, wallets and routes as the Superroute apps, and every call passes the same permission checks.
Current release: 0.2.5. Every package of a release carries the same version.
sApp playground · Run and edit examples of the JavaScript SDK and the web UI kit in the browser.
Installation
The packages of every language and platform, the first calls and webhook verification.
Sign-in
People sign in with their own Superroute account. Each sign-in is for one app at one service provider.
Partner app API
The REST and GraphQL surface sApp calls: one method per operation.
UI kit
One component library on every platform, built on the SDK of the same platform.
Example apps
Complete apps that sign in and show UI kit components, in the sApp release repository.
App Center
Offer an approved app to every service provider and charge for it.
What you can build
Customer apps and websites
Sign-in, notifications, wallet, orders, tracking, returns, shipping orders, stores and group buys.
Driver apps
Routes and stops with photos, signatures and delivery PINs, duty and offers, the order pool, route boards, earnings and scan lookup.
Desktop programs
Programs on Windows and macOS with the same calls, and UI components on WPF, WinForms and SwiftUI.
Back-end services and integrations
JavaScript and Node, Python, PHP, Go, Java and C#: the partner app API and Open Platform capabilities such as routing, geocoding and ETA.
Webhook receivers
Every language checks the signature of Superroute webhooks, refuses replayed requests and parses the event.
One or many service providers
Each sign-in is for one app at one service provider. The same app serves every provider that allows its developer and switches it on.
SDK
One client per language with the same methods, made from the same API description: sign-in, every partner app API operation as one method, GraphQL, Open Platform capabilities and webhook verification.
- JavaScript / Node
- React
- React Native
- Dart / Flutter
- Swift (iOS, macOS)
- Kotlin / Android
- C# / .NET
- Python
- PHP
- Go
- Java
License: Superroute SDK License
UI kit
The same components on every platform. They take their colours from the service provider's branding.
- Flutter
- Web / React
- SwiftUI
- Jetpack Compose
- React Native
- WPF
- WinForms
14 languages
The UI kit's strings exist in English, Simplified Chinese, Traditional Chinese, German, Spanish, French, Italian, Dutch, Portuguese, Serbian, Hungarian, Polish, Slovak and Czech, chosen by the client's locale.
Events, not navigation
Components raise events and never navigate. Your app decides what happens next, and supplies files, photos, the position, the scanner, card payments and the map.
Smart lockers
Locker pickups, locker locations, locker storage, the locker shop and second-hand handover are in sLocker, which is built on the sApp core. Store orders stay in sApp, opening the locker of a store order included.
Two profiles
- Partner: an app registered on the Open Platform console. It acts for one person at one service provider, with that person's sign-in and the capabilities the app was approved for and the provider switched on.
- Open: Open Platform capabilities such as routing, geocoding and ETA. Inside an app, a short-lived token from your own backend; an Open Platform API key is a server secret and is never placed in an app.
What a caller may do is decided by the server, never by the package installed.
Start
- Ask Superroute for app development on your Open Platform account.
- Register the app under Open Platform → Apps and submit it for review.
- Request access to a service provider, which approves it under My Apps → Developers.
- Install the SDK of your language, and for an app the UI kit of your platform.
A back-end service that uses only Open Platform capabilities needs an Open Platform API key and no app registration. A webhook receiver needs the signing secret of its endpoint.
Swift packages, Maven repository, Go module and example apps