URI/URL
Each UNIT is identified by a unique URI that can be mapped unambiguously to a https-URL. Each URI contains the email-address of it's PRODUCER. If the resp. email-provider supports UNITED-PAGES it is called the native UP-provider otherwise united-pages.com is called the default UP-provider.
A UNIT-URI starts with the scheme "unit", followed by the abbreviation of its TYPE(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-type = "adr" | "air" | "cal" | "cct" | "dev" | "loc" | "lst" | "pky" | "ref"
unit-url = "https://" up-domain-part "/" unit-type "/" local-part "/" domain-part [ "?" query ]
up-domain-part = native-domain-part | "www.united-pages.com/unit"
query = "id="identifier
native-domain-part is mapped by united-pages.com
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
URL: unit://adr/john.doe@goohoo.com
URI: https://api.gmx.com/up/adr/john.doe/goohoo.com
(II) default
URL: unit://cal/praxis@medicus.de?id=123
URI: https://www.united-pages.com/unit/cal/praxis/medicus.de?id=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://adr/praxis@medicus.de?id=dispatcher