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