Developers
The SDK download provides code samples for .NET, Java, Python, iOS and Android that cover the key systems interactions. The rest of this page describes these interactions and example embodiments can be found in the case studies. Hash tags are used to link the description below with the code in the SDK.
To receive a zip file of the Coelition SDK please read the licence terms, enter your email address and click 'Accept'.
The Coelition SDK is provided ‘as is’ without warranty of any kind. The SDK is free of charge but restricted to use within the Coelition ecosystem with limited rights of redistribution. The full licence agreement can be seen here and by clicking 'Accept' you agree to these terms.
Key System Interactions
Service Provider sign-up
When a new Service Provider joins the ecosystem they will select a Data Engine. Coelition will register the Service Provider with the IDA (Identity Authority) and then the Data Engine. The Service Provider will then receive its ServiceProviderID {#sdk-credentials}.
Operator sign-up
Once registered, Service Providers can sign-up the Operators that will be responsible for managing the interaction with the Consumer and holding directly identifying personal information.
The Service Provider uses their ServiceProviderID to create each new OperatorID with the IDA and then registers this with the Data Engine {#sdk-create-operator}. The credentials are then supplied to the Operator {#sdk-credentials}.
Consumer sign-up
Operators sign-up Consumers individually with the IDA {#sdk-generate} and register them with the Data Engine {#sdk-create-consumer}. The Operator holds the ConsumerID and uses this to manage all data transactions in the ecosystem on behalf of the Consumer.
Only the ConsumerID code, gender, age, timezone and approximate latitude are registered with the Data Engine {#sdk-segment}. IoT devices can also be registered to the Consumer by a similar method to give a DeviceID {#sdk-create-device}.
Sending atoms
Behavioural information is sent directly to the Data Engine in the form of discrete events each containing the ConsumerID. These data packets are known as ‘Atoms’ {#sdk-create-atom}.
The Data Engine will accept correctly formatted Atoms with a valid ConsumerID or DeviceID from any source {#sdk-post-atom}.
Consumer report request
To deliver services to the Consumer, the Operator can request data from the Data Engine via the Service Provider.
The Operator makes a report request to the Service Provider for a specific Consumer{#sdk-report-request}. The Service Provider checks that the Operator has the right to make the request on behalf of the Consumer and then queries the Data Engine{#sdk-query}. A report can then be generated for the Operator to deliver.