GET – Read Data
A GET for the above resource will return the XML for subscriber 124’s subscription to syndication 57. This call will only be successful if the authenticated user is publishing syndication number 57, and if subscriber 124 is in fact subscribed to it. If the call is unsuccessful the returned XML will contain an empty <subscription />tag (if the user does not own syndication 57) or a populated<subscription> tag with an empty <subscriber /> tag if subscriber 124 does not subscribe to feed 57.
It is possible to use shorter but complete paths as follows:
|/syndications||Returns all the user’s published feeds|
|/syndications/57||Returns the user’s published feed # 57|
|/syndications/57/subscribers||Returns all the subscribers to feed 57|
|/syndications/57/subscribers/124||Subscriber 124’s subscription to feed 57|
Note that /syndications/subscribers is an invalid resource. To fetch all their subscribers, a user should simply GET the /subscribers resource.
Also note that you should only use the paths documented here. Some resource paths you may expect to work are not valid and not supported, such as /subscribers/124/subscriptions/57 – to get this information, query /syndications/57/subscribers/124 instead. /subscribers/124 is valid, returning all 124’s subscriptions for this list owner.
POST – Edit and Search
If supported by the resource, you can POST edits at any point in the resource path structure. The results will depend on the path used and the data in the POST. Use the returned XML to judge the success or otherwise of your edit; do not rely on the HTTP return code (which will always be 200 OK in this release).
In this example, a POST at each point in the hierarchy behaves as follows:
|/syndications||Updates all the syndication entities included in the POST data|
|/syndications/57||Only updates feed #57. Fails if any other feed id is specified.|
|/syndications/57/subscribers||Edits the subscribers included in the POST data for feed 57|
|/syndications/57/subscribers/124||Updates subscriber 124’s subscription to 57, if the IDs match.|
The results of a POST are typically (but not always – see the documentation) the same as a GET for the specified resource.
POST is also used for searching and sorting result sets. Where supported, replace the ID with the literal “search”
|/syndications/search||Search and sort this user’s syndications|
|/syndications/57/subscribers/search||Search the subscribes to feed 57|
Not all resources support searching. See the documentation for resource-specific information.
Important: You must POST with the MIME type text/xml or application/xml for your data to be interpreted correctly. You cannot, for example, post with an ordinary HTML <form> in a browser.
DELETE – Resource Removal
DELETEs may be issued to remove the associated resources from the system. Resources are typically not physically removed from FeedBlitz; rather they are marked as deleted. Deleted resources are retrieved, if present, by a GET statement, so be sure not to present them to end users if that would be confusing or inappropriate.
The scope of a DELETE is the same as for a GET; it works at the level specified by the resource path. Use DELETE with care, and ensure that the user has confirmed their desire to make the relevant changes before you call the API. Use the returned XML,not the HTTP return code, to evaluate the success of the requested operation.
|/syndications||Deletes all published feeds, and all the subscriptions to them.|
|/syndications/57||Deletes feed # 57 and removes any subscriptions.|
|/syndications/57/subscribers||Deletes all the subscribers to feed 57, but leaves the syndication itself alone.|
|/syndications/57/subscribers/124||Deletes subscriber 124’s subscription to feed 57 only.|
PUT – Add a New Resource
New resources are added by using a PUT at the relevant level in the path:
|/syndications||Add a new syndication|
|/syndications/57/subscribers||Add a new subscriber to feed 57|
A PUT, like a POST, typically returns the full resource XML(as if a GET were performed on the newly created entity). Exceptions are made for privacy reasons in the /user resource, where only the email address of the user (if the user is not anonymous) is returned to the caller along with a status code indicating whether the operation was successful or not.
- A PUT on an existing resource is NOT treated by the FeedBlitz API as being the same as a POST to that resource. A PUT on an existing resource will not edit that resource’s settings by design. You MUST use the POST method to alter an existing resource’s variables.
- There are currently no DTDs or other formal online XML documentation for validating XML documents used by the API.
- Not all methods are supported by all resources. Don’t assume.
Important: You must PUT with the MIME type text/xml or application/xml for your data to be interpreted correctly. You cannot post using an ordinary HTML <form> in a browser.