URI/URL
Each UNIT is identified by a unique UNIT-URI that can be mapped unambiguously to a https UNIT-URL. Each UNIT-URI contains the email-address of it's PRODUCER. If the resp. email-provider supports UNITED-PAGES it is called the NATIVE-PROVIDER otherwise united-pages.com is called the DEFAULT-PROVIDER.
A UNIT-URI starts with the scheme "unit", followed by the abbreviation of its UNIT-CLASS(e.g. cal for calendar), the email-address of the PRODUCER and ends up with an optional query. As known from http-query-parameters the query is separated by ‘?’ and parameters are separated by ‘&’. The mapped UNIT-URL depends partially on the resp. UP-PROVIDER(native vs. default).
unit-uri = "unit://"unit-type"/"local-part"@"domain-part["?"query]
unit-class = "air" | "cal" | "cct" | "dev" | "idy" | "loc" | "lst" | "msg" | "pky" | "pwd" | "ref" | "sce"
unit-url = "https://"up-domain-part"/"unit-class"/"local-part"/"domain-part["?"query]
up-domain-part = native-domain-part | "www.united-pages.com/unit"
native-domain-part = "GET https://www.united-pages.com/unit/dom/"domain-part
local-part and domain-part is defined in RFC5322 IMF (Internet Message Format)
query is defined in RFC 3986 URI(Uniform Resource Identifier)
How is a UP-URI mapped to URL?
(I) native
UNIT-URI: unit://cct/john.doe@goohoo.com
UNIT-URL: https://api.goohoo.com/up/cct/john.doe/goohoo.com
(II) default
UNIT-URI: unit://cal/praxis@medicus.de?q=123
UNIT-URL: https://www.united-pages.com/unit/cal/praxis/medicus.de?q=123
Small/capital letters and the sequence of http-query-parameters in a UP-URI are not decisive, e.g. the following URIs are semantically identical:
unit://cal/praxis@medicus.de?id=abc
unit://CAL/Praxis@Medicus.de?iD=ABc
How is the native-domain-part determined?
(I) GET-request of all native domain-mappings:
GET https://www.united-pages.com/unit/lst_dom
-> e.g. {“up”:"(goohoo.com,api.goohoo.com/unit),(gmx.net,www.gmx.com/up),(gmx.de,www.gmx.com/up),(gmail.com,api.google.com/united ),...”}
(II) GET request for a concrete domain-part:
GET https://www.united-pages.com/unit/dom/[domain-part]
-> e.g. GET http://www.united-pages.com/unit/dom/goohoo.com returns {“up”:”api.goohoo.com/unit”}
Where is UP-URI used?
Instead of focusing only on URL for the following reasons the UP-URI format is specified additionally:
- the UP-URI does not need to consider whether a domain is supported by its native email-provider
- it is not a must to use http(s) for webservices (only state-of-the-art)
- UP-URI is shorter and more intuitive for humans
- a unique scheme (here: unit) can be coupled with a certain application, i.e. a certain App can be started when clicking on a certain UP-URI within Email or Messenger e.g.
Hello John Doe,
your next appointment:
unit://cal/praxis@medicus.de?id=123
Regards
Your medicus team
unit://cct/praxis@medicus.de?q=dispatcher