Introduction
The DataSapien Mobile Backend is the scalable bridge between Orchestrator and Mobile SDK instances. It is designed with a scalable architecture to serve tens of millions of Mobile SDK instances simultaneously.
The Mobile Backend mostly acts as an access layer between the Orchestrator and the Mobile SDK instances, and does not contain much significant logic.
The Mobile Backend can be deployed on-prem or on your choice of cloud provider.
We suggest deploying the Mobile Backend on a container management platform such as Kubernetes for failover and dynamic scaling but this is not an obligatory requirement.
Endpoints
The DataSapien Backend provides a set of RESTful JSON APIs protected with JWT over HTTPS.
Orchestrator Facing Endpoints
DataSapien Orhestrator is where:
- Occasional administration operations such as the creation of MeData and Segment Definitions
- Daily operations such as publishing Journeys & Exchanges are done.
The Orchestrator does not communicate directly with the Mobile SDK. Instead, it calls the Mobile Backend, indicating that a new configuration, journey or exchange is available. The Backend is responsible for distributing this update to the appropriate SDK instances (users).
The Mobile Backend provides endpoints to the Orchestrator for:
- Authentication: This is for the Orchestrator to authenticate to the Mobile Backend, the Orchestrator manages the authentication of its users itself
- MeData Management: Creation of MeData and Segment Definitions, Managed APIs, Rules
- On-edge Intelligence Management: Provisioning of AI / ML models
- Journey & Exchange Management: Creation of Reward Types, Audiences, Collectives and publication of Journeys & Exchanges
Mobile SDK Facing Endpoints
The Mobile Backend provides endpoints to Mobile SDK instances for:
- Authentication: This is for internal authentication of the Mobile SDK instances to the Mobile Backend (not your mobile app to your backend components)
- Fetching MeData based configuration: MeData and Segment Definitions, Managed APIs, Rules
- Querying and downloading provisioned AI / ML models
- Fetching available Journeys & Exchanges and submitting consented Zero-Party Data collected during Journeys & Exchanges
- Redeeming Rewards gained for Journeys & Exchanges
- Sending Zero-Shared Data signals