Open RO standard v1.0 (Draft)
1. Overview:
The RO (Resource Origin) standard is an open standard developed by ReSourceOrigin to facilitate transparent and accountable sourcing of natural resources. This specification outlines the technical details for implementing the RO standard, including the structure of the JSON object and the use of QR codes to access resource origin information.
The RO (Resource Origin) standard leverages several widely recognized and established protocols and standards to ensure interoperability and compatibility with existing systems. These include JSON (JavaScript Object Notation) for the structured representation of data, HTTP (Hypertext Transfer Protocol) for secure and efficient communication over the web, and QR codes for convenient access to resource origin information. By building upon these established technologies, the RO standard seamlessly integrates into the digital landscape, facilitating transparent and accountable sourcing practices while adhering to industry best practices and conventions.
2. Item Property Specification: @item
The '@item' property is a key component of the RO standard, designed to provide detailed information about a specific item or product. The JSON object returned by the '@item' endpoint should include the following properties:
id (Required):- Type: String
- Description: Unique identifier for the item.
- Type: String
- Description: Name or title of the item.
- Type: String
- provides information about the company responsible for sourcing or producing an item.
- Type: String
- provides information about the resources used in the production of the item.
- Type: String
- Description: Model or version number of the item (recommended but not required).
- Type: String
- Description: Description or additional details about the item (recommended but not required).
Example JSON Object:
{
"id":"1234",
"name":"Acme Blue Tv",
"model":"acme-s100",
"description":"acme s-100 item details",
"@company": "https://acme.com/ro-standard-v1/company.json",
"@resources": "https://acme.com/ro-standard-v1/resources.json"
}
Endpoint Response Requirements:
- The endpoint specified by the '@item' property should return a JSON object with the properties described above.
- The 'id' property must be a unique identifier for the item and should be included in all responses.
- The 'name' property must be a descriptive name or title for the item and should be included in all responses.
- The 'model' property, if provided, should specify the model or version number of the item and is recommended for inclusion.
- The 'description' property, if provided, should contain additional details about the item and is recommended for inclusion.
Usage Guidelines:
- Implementations of the RO standard should ensure that the '@item' endpoint returns accurate and up-to-date information about the specified item.
- The JSON object returned by the '@item' endpoint should be easily accessible and parseable by consumer applications and systems.
- When integrating with ReSourceOrigin or other systems that support the RO standard, developers should adhere to the specified JSON object structure to ensure interoperability and consistency.
3. Resources Property Specification: @resources
The '@resources' property within the RO standard JSON structure provides information about the resources used in the production of the item. It includes a list of resources, each with details such as resource ID, name, quantity, metric, and the '@company' responsible for sourcing the resource. Additionally, the '@nextPage' property indicates the URL of the next page of resource information in case of pagination.
list (Array):- Type: Array of resource objects
- Description: Contains detailed information about each resource used in the production of the item.
- Type: String
- Description: Unique identifier for the resource.
- name (Required):
- Description: Name or type of the resource.
- Type: String
- Description: Quantity of the resource used in the production, along with the metric.
- Type: String
- Description: Unit of measurement for the quantity of the resource (e.g., kg, liters).
- Type: String
- Description: A datetime normalized to UTC indicating time and date a given resource was traded(aquired).
- Type: String
- Description: URL linking to the company responsible for sourcing the resource. This URL should resolve to a JSON object containing company details.
- Type: String
- Description: URL linking to the next page of resource information in case of pagination. If the list of resources exceeds the capacity of a single response, pagination allows for the retrieval of additional resource data.
Usage Guidelines:
- Implementations of the RO standard should ensure that the 'resources' object provides accurate and comprehensive information about the resources used in the production of the item.
- The list of resources should include all relevant details, such as resource ID, name, quantity, and the company responsible for sourcing.
- When linking to company information via the '@company' property, developers should ensure that the linked URL resolves to a JSON object containing company details as per the RO standard company specification.
4. Company Property Specification: @company
The '@company' property within the RO standard JSON structure provides information about the company responsible for sourcing or producing the item. It includes details such as the company's geographical location, contact information, and website URL.
lat (Required):- Type: String
- Description: Latitude coordinates of the company's location.
- Type: String
- Description: Longitude coordinates of the company's location.
- Type: String
- Description: Street address of the company's location.
- Type: String
- Description: City where the company is located.
- Type: String
- Description: Country where the company is located.
- Type: String
- Description: Postal code or ZIP code of the company's location.
- Type: String
- Description: Telephone number of the company.
- Type: String
- Description: Email address of the company.
- Type: String
- Description: Name of the company.
- Type: String
- Description: URL of the company's website.
Usage Guidelines:
- Implementations of the RO standard should ensure that the '@company' object provides accurate and up-to-date information about the company responsible for sourcing or producing the item.
- A '@company' property may include a '@resources' property to indicate their origins.
- All required properties within the '@company' object must be present and populated with relevant information to facilitate transparency and accountability in the supply chain.
- Developers should ensure that the company's geographical location coordinates (latitude and longitude) accurately represent the company's physical address.
By including detailed information about the sourcing company, the '@company' object enables consumers and stakeholders to gain insight into the company's practices, location, and contact details. This transparency fosters trust and accountability in the global supply chain ecosystem, empowering consumers to make informed decisions about the products they consume.
Full object example:
{
"version":"1.0",
"id":"1234",
"name":"orange",
"model":"ls-10",
"description":"",
"company":{
"lat":"-1.6579106347301618",
"lon":"29.214117016709785",
"street":"acme avenue 1",
"city":"Acme",
"country":"US",
"postCode":"01234",
"telephone":"12345678",
"email":"[email protected]",
"name":"Acme Corp.",
"url":"https://acme.com"
},
"resources":{
"list":[
{
"id":"0123",
"name":"Gold",
"quantity":"10",
"metric":"kg",
"traded": "2019-03-23T06:35:22Z",
"@company":"https://acme.com/ro-standard-v1/company.json"
},
{
"id":"01234",
"name":"Diamond",
"quantity":"10",
"metric":"kg",
"traded": "2019-03-23T06:35:22Z",
"@company":"https://acme.com/ro-standard-v1/company.json"
}
],
"@nextPage":"https://reSourceOrigin.com/ro-standard-v1/resources.json?page-2"
}
}
5. QR Code Implementation:
Each item or product should be assigned a unique QR code that links to the corresponding HTTP endpoint specified in the JSON object structure. When scanned, the QR code should direct users to access the JSON object, providing them with transparent and detailed information about the item's origin, the company involved, and the resources utilized.
6. HTTP Request Requirements:
HTTP requests made to retrieve the JSON object keys (@item, @company, @resources) should not require authentication. The endpoints specified in the JSON object structure should be publicly accessible to ensure transparency and ease of access for consumers and stakeholders.
7. Compliance and Interoperability:
Implementations of the RO standard should comply with the specified JSON object structure and QR code implementation guidelines to ensure interoperability and consistency across different platforms and systems. Compliance with the standard will enable seamless integration with ReSourceOrigin and other systems that support transparent sourcing practices.
8. Versioning and Updates:
The RO standard may undergo updates and revisions to accommodate evolving industry needs and technological advancements. Any changes to the standard will be documented and communicated to stakeholders to ensure smooth transition and backward compatibility with existing implementations.
Conclusion:
The RO standard provides a transparent and standardized approach to sourcing natural resources, enabling consumers and stakeholders to access detailed origin information with ease. By adhering to the technical specifications outlined in this document, implementations of the RO standard can contribute to greater transparency, accountability, and sustainability in the global supply chain ecosystem.