Back to top
Vastuu Group

Open Platform of Trust Sandbox

Last updated: May 20, 2020
|
Reading time: 6 min

The Platform of Trust Sandbox environment is intended to be used by developers to test their applications and data product integrations, prior to production, in a safe and isolated manner.

NOTE: Sandbox environment should be used for test data only, but will run the same version of the software as production.

Why the Sandbox is for?

Sandbox is meant for our customer developers to build, test and demo their own solutions they want to build on top of Platform of Trust prior to deploying the solution to actual production use. The sandbox environment is meant for communicating with the corresponding third party sandbox/testing environments and to use test data as much as possible.

NOTE: No sensitive data should be stored to Sandbox.

What functionalities a user can perform using the Sandbox?

In terms of API capabilities Sandbox has basically the same version as production environment so all the same capabilities can be tested in Sandbox that is available in production. All backward-incompatible changes will be published under a new major version.

Some of functionality:

  • Create and manage Identities
  • Create and manage Links
  • Fetch Data Products through Broker API
  • Register your own Application
  • Register your own Data Products
  • And many more ...

How to get registered into the Sandbox?

The current way of creating a developer user account at Platform of Trust is via our sign-up flow of the world application or start with redirection to login portal

To sign-up in Platform of Trust Sandbox:

1. Go to the link: https://world-sandbox.oftrust.net/api/login . This is the sign-in view of the Login app that creates user authorization flow in the Platform. Click Sign up with email.

2. Provide Email, Password, First name and Last name in related fields. Accept Platform of Trust Privacy Policy and Terms of Service.

loginapp-signup-view.png

3. On clicking Sign Up, the Login app will create a new user for you in Sandbox and initiate the authorization flow. You need to allow the Login App to access your data.

platformoftrust-loginapp-access-permission.png

4. Afterward, you will be signed in into the `Sandbox`.

plattformoftrust-sandbox-loggedin.png

After you have created an account, you can start using Platform of Trust capabilities and develop your own applications. Follow Application Development Guide to learn more about Bearer token and how to create Application identity in identity network.

What Data set is available for users to play around?

Currently, there is an example data product called “prh-business-identity-data-product” in Sandbox which can be used to test how data products work. By using a Finnish company ID (Y-tunnus) as a fetch parameter you can fetch the basic info of a company from the Finnish Trade register. The Business IDs you can search for example by using YTJ website

Read more about how to work with Data Products in Consume Data Products guide

We will soon publish an example identity network and more example data products linked to it.

Default set of rights an user has in the Sandbox

The basic logic of the platform Access Control Lists (ACLs) is that the user that creates an identity gets all access rights (Read, Write, Link, Manage) to that identity.

"read” # Read the data property
"write # Write to the data property
"link" # Manage inbound links to this entity
"manage” # Administer the ACL for this entity

The user that has the manage rights to the identity can pass the manage rights to another user. There must always at least on user identity with the manage right.

When we publish the example dataset in Sandbox we will inform which ACL rights the provided demo user has for the example dataset.
Currently, no inheritance is implemented to the ACLs meaning that the user or application must have straight access right links to the identities that the access rights are given or managed.

Available APIs

All APIs are available for the sandbox environment. Check APIs documentation to get a full list of APIs.

NOTE: The APIs that are available in the Sandbox are the same as in production.

As an example we can try Product API in sandbox environment.

Request: POST /products/v1

Response: Ok
Status: 200 OK
Body:

{
  "@context": "https://schema.org/",
  "@type": "collection",
  "ItemList": [
    {
      "@context": "https://standards.lifeengine.io/v1/Context/Identity/Thing/HumanWorld/Product/DataProduct/",
      "@type": "DataProduct",
      "@id": "https://api-sandbox.oftrust.net/products/v1/prh-business-identity-data-product",
      "productCode": "prh-business-identity-data-product",
      "dataContext": "https://standards.oftrust.net/contexts/product-data.jsonld",
      "parameterContext": "https://standards.oftrust.net/contexts/product-parameters.jsonld",
      "translatorUrl": "https://api-sandbox.lifeengine.io/translator/v1/business-identity",
      "name": "PRH Open Data",
      "organizationPublicKeys": [
        {
          "url": "https://api-sandbox.lifeengine.io/translator/v1/public.key",
          "type": "RsaSignature2018"
        }
      ],
      "description": "Returns business information from the PRH Open Data API",
      "imageUrl": null,
      "identityId": "aa005026-71ce-410c-a1cc-cbd8caa4db2e"
    }
  ],
  "pagination": {
    "links": [
      {
        "rel": "first",
        "href": "https://api-sandbox.oftrust.net/products/v1/?offset=0&limit=100"
      },
      {
        "rel": "self",
        "href": "https://api-sandbox.oftrust.net/products/v1/"
      },
      {
        "rel": "last",
        "href": "https://api-sandbox.oftrust.net/products/v1/?offset=0&limit=100"
      }
    ],
    "hasMore": false,
    "totalCount": 1
  }
}

Read more about /products/v1 request in Product API. To know more about Product API, visit the API profile in Developer Portal

Periodic environment reset

For things to keep in mind when working with Sandbox is that we do NOT guarantee that the data in the database stays intact, and instead we guarantee that it will be regularly reset and your data WILL be lost.

Sample data and integrations

For your own integrations to the sandbox environment, it is recommended that you also use purely test data with no sensitive information, as other people also use the environment and your data might be viewed by other people as well. This is especially important in case of data products, as during development your access control checks etc. might not be fully complete.

It is recommended that when you are integrating a data product, that you use a separate "sandbox" deployment for yourself as well. This way you can keep working on the "development version" that is tied to Sandbox, while you have a stable production version deployed as well.

If you want to setup your own Translator, read Setup Translator guide.

Summary

The sandbox APIs and other Sandbox related URLs can be identified with the *-sandbox.oftrust.net -domain, so e.g. all the APIs for managing your data products etc. are under api-sandbox.oftrust.net.

As a developer you should use our sandbox environment to try your applications and ideas before going to Production. Platform of Trust provides full support for all developers who start to integrate their solution with us.

Create an account and get started

Create an account and start utilizing the free and open sandbox!

If you are an application developer, it might be a good idea to read Building Apps in the Platform Guide first.

If you are integrating data and creating data products, take a look at the Data Product Guide.

Digital identity (Identity) is the fundamental concept of the platform, take a look at the Identites and Links guide

Ready to explore more?

Try Platform Sandbox

Improvement Suggestions? or a New Guide?

Tell us un GitHub