Architecture
Overview
Winding Tree is a decentralized marketplace for travel businesses. As such, Winding Tree helps participants discover each other and transact automatically without intermediaries.
Protocol Stack
Winding Tree uses common standards and open protocols used in other industries. This allows to build fast and re-use libraries existing in most programming languages.
Function | Technology |
---|---|
Networking | HTTP over TLS/TCP/IP |
Authentication | JSON Web Tokens, powered by ORGiD |
Data Presentation | REST/JSON OpenAPI with standadized schemas |
Networking
To interact with an organization, you will need to gather the connection details. The HTTP endpoint for the services is retrieve from the service
section of the organization’s JSON file.
The below is the service
section for Glider Connect in test environment:
[
{
"id": "did:orgid:0x94bf5a57b850a35b4d1d7b59f663ce3a8a76fd9928ef2067cc772fc97fb0ad75#apiv1",
"serviceEndpoint": "https://staging.b2b.glider.travel/api/v1",
"type": "glider",
"version": "1",
"description": "Glider Aggregator Ropsten Search and Book API",
"docs": "https://staging.b2b.glider.travel/api/docs/"
}
]
Authentication
The authentication used in Winding Tree is the OAuth 2.0 Bearer Tokens, as described in RFC6750.
The tokens are following the JSON Web Tokens (JWT) standard.
It allows using very standard tools and libraries, for example using CURL:
curl -X GET "<service endpoint and path>" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Using Postman:
For guidelines on how to use JWT Tokens, see these dedicated section:
Data Presentation
The API format is a REST/JSON with the data format enforced using OpenAPI 3.0. The schemas are available below:
If you would like to propose schema changes or new schemas for other travel verticals, please open a Issue or Pull request on Github or get in touch!