Subscription/Unsubscription

Subscription

To subscribe, complete all fields and send a form POST request to the hub with the following parameters:

  • hub.mode - the string "subscribe"
  • iso.code - the ISO code of the country you are subscribing to
  • hub.callback - the URL that you want the hub to send notifications to, so it must be a publicly-accessible URL

WebSub

WebSub (formerly PubSubHubbub) is an open protocol for distributed publish–subscribe communication on the Internet. Initially designed to extend the Atom (and RSS) protocols for data feeds, the protocol can be applied to any data type (e.g. HTML, text, pictures, audio, video) as long as it is accessible via HTTP. Its main purpose is to provide real-time notifications of changes, which improves upon the typical situation where a client periodically polls the feed server at some arbitrary interval. In this way, WebSub provides pushed HTTP notifications without requiring clients to spend resources on polling for changes.


Unsubscription

To unsubscribe, complete all fields and send a form POST request to the hub with the following parameters:

  • hub.mode - the string "unsubscribe"
  • iso.code - the ISO code of the country you had previously subscribed to
  • hub.callback - the URL that you were receiving notifications to

Protocol

Under WebSub, there is an ecosystem of publishers, subscribers, and hubs.

A subscriber first retrieves content from an HTTP resource (URL) by requesting it from the webserver. The subscriber then inspects the contents of the response, and if it references a hub, the subscriber can subscribe to that resource's URL (it's called a 'topic' by the spec) on that hub. The subscriber needs to run a web accessible server so that hubs can directly notify it when any of its subscribed topics have updated, using a webhook mechanism.

Publishers expose their content with the inclusion of hub references in the HTTP headers. They post notifications to those referenced hubs whenever they publish something. Thus, when a publication event occurs, the publisher calls its hubs and the hubs call their subscribers.