The EVRYTHNG Platform allows developers to make their products smarter by connecting them to the web and giving them their own unique online Active Digital Identity (or ADI). We call all these ADI-enabled products connected to the web ‘Thngs’. Each Thng is a permanent cloud data resource to hold up-to-date information and history about the corresponding real-world product. The attributes and state of a real-world product are reflected in the Thng, associated with a Products, which in turn can be connected to countless other platforms and integrations to drive rich experiences.
A Thng is just one of many types of resource available on the EVRYTHNG Platform. These resources are created, owned, and managed by one of several types of actors, representing different kinds of users. Actors have their own roles and permissions for customisable access rights and visibility, and make requests to the Platform with their own unique API keys. Visibility and grouping of resources is also specified with various levels of scope, allowing precise access control and separation of concerns for multiple client projects.
The rest of this page outlines other important resource types and concepts. Read the linked documentation sections for all the finer details and extra information.
Each EVRYTHNG Platform implementation begins with an account, created when a developer signs up for the EVRYTHNG Dashboard. Management of account-level resources and other setup is done by the account owner as the ‘Operator’ actor. Operators can manage virtually all resources and relationships in an account, with the highest levels of access with their Operator API Key, or through the Dashboard.
Accounts can also be shared between two or more Operators with separate Dashboard accounts, and given specific roles to allow controlled data access when sharing resources with collaborators. These roles can limit a guest Operator’s visibility to certain projects or Dashboard pages as required.
Project resources are the primary method of grouping and limiting visibility of other types of resource through the project scope, and allow developers to implement a logical separation of resources to reflect their real-world grouping. For example, a project may contain all Thngs that belong to a single marketing campaign, and also limit visibility to only other Operators that worked on that campaign. The majority of resource types support scoping to one or more projects as required by the integration designer, except those that are designed to be accessible or affect the entire account, which may be scoped to all projects.
Each project may contain one or more application resources which represent end-user web or mobile applications providing views into and control over the resources contained in an account. For example, a warehouse manager may use a mobile app (represented as an EVRYTHNG application resource) that shows all stock in his particular warehouse, and allow him to mark them as received/shipped/missing as they arrive and depart. These applications use their Application API Key to create and authenticate Application Users (see below) who then directly interact with resources they own and control.
Application User resources represent the real people interacting with the EVRYTHNG Platform as part of their role within the solution, such as the previously given warehouse manager, or a product consumer. Application Users can be anonymous, or created with an email address and password login. Other details such as age and gender can optionally be added to be used insights and analytics. Application Users are scoped to the application that created them, limiting access to those resources in the application’s project scope. This can be further customised by changing resource scopes as well as creating and assigning Application User roles and role permissions.
Upon creation (as well as each subsequent login) an Application User is granted their own Application User API Key that is their access credential to interact with the resources that the account Operator has made available and in-scope to them.
The core data resources of the EVRYTHNG Platform are Thngs. Each product item connected to the Platform is represented by a Thng resource. To facilitate their roles as digital product counterparts, Thngs can store any arbitrary data as JSON data, such as single value
identifiers (SKU-level data), or as
properties (real-time state) that include a history of previous values.
Thngs can (and should) maintain a reference to their SKU in the form of a product resource. A product resource is designed to act as a class containing data and information that is common to all Thng instances. For example, a set of Thngs each representing individual items of clothing should reference the single product resource that specifies the SKU's barcode, serial number, color codes, and other common items of data.
The third main resource type is the collection resource. A collection is designed to enable grouping of Thngs (and even other collections) into a single referrable resource, and usually represents a batch of manufactured goods, a group of products belonging to a particular user, and other such groupings. Like Thngs and products, collections can also contain
tags to facilitate searching and labelling.
Action resources represent discrete events, messages, and other interactions by Application Users or other actors. Though not specifically designed as data container resource, actions can also include
tags, to enhance their capabilities as a record of events and enhance discoverability.
Actions have an action type associated in a similar relationship as product resources are to Thngs, and are usually created on a target Thng, product, or collection. For example, an action could be created on a Thng to signify that is has been sold to a consumer, or on a collection to record it has moved to a new warehouse.
By strategically creating actions of different types on different product resources, data becomes available to drive customisable Dashboard widgets that can provide insight into how the account is performing. For example, number of missing goods or how well users are engaging with products.
We also offer more advanced enterprise-level programmable Reactor rule engine, Redirector dynamic redirection service, and numerous Cloud 2 Cloud integrations with other 3rd party clouds. The Blockchain Integration Hub also serves as a single point to integrate with blockchains.