API changes

API changes

With more and more users, we get more and more feedback and we’re slowly but surely improving our service to take into account all that feedback. As a consequence, every once in a while we need to push a new codebase with slight changes in the API. Hopefully these changes should be backward compatible, which means they shouldn’t affect any of the existing applications.

This changes will be released on, or after August 15.

Subscription API changes

Up until now, subscription end-points where “user-centric” which means that you could only have one JID or one web-hook for all the user’s subscriptions. From now on, you will be able to have a specific endpoint for each subscription :

  • A different URL for each of your PubSubHubbub subscriptions. Technically, this means that Superfeedr will implement the full specification, including the subscription verification. That requires a little bit more work on the subscriber side, but it also gives you more flexibility with different URL for different “types” of feeds, or even a simple load-balancing on the subscriber side.
  • A different JID for each of your XMPP subscriptions, as long as the subscription JID matches the IQ jid. If the IQ jid (in the “from” attribute) is:
    • a regular JID, like user@server.tld, you will only be able to subscribe with user@server.tld
    • a “component jid” like component.server.tld, you will be able to subscribe with any-user@component.server.tld.

As a consequence you’ll be able to have both PubSubHubbub and XMPP/PubSub notifications, even for the same feeds. But, don’t forget : we charge by the notification : 2 subscriptions to the same feed with different endpoints means you will be charged twice for the 2 notifications.

By default, for all the subscriptions prior to this change, we will use by default your user-defined endpoint.

Subscriptions listing changes

This is only valid for the XMPP API since the PubSubHubbub doesn’t define any subscription listing API.
We will send status information along with the feeds, like in this example :

Similarly, you will receive the feed information upon subscription with the XMPP API.

Please, note that, contrary to notifications, the <status> will not include a feed attribute, as the feed url is already included in the <subscription> node attribute.

We appreciate your feedback and are committed to implement as much as we can in a non-destructive way to avoid any compatibility issue. Please, if you see problem in any of your apps, do not hesitate to get in touch with us and we will shortly find a solution.

Liked this post? Read the archive or

Previously, on the Superfeedr blog: Performance monitoring with collectd.