diff options
Diffstat (limited to 'app/views/help/api.html.erb')
-rw-r--r-- | app/views/help/api.html.erb | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/app/views/help/api.html.erb b/app/views/help/api.html.erb new file mode 100644 index 000000000..57390d65a --- /dev/null +++ b/app/views/help/api.html.erb @@ -0,0 +1,81 @@ +<% @title = "About our API" %> + +<%= render :partial => 'sidebar' %> + +<div id="left_column_flip"> + <h1><%=@title %></h1> + <dl> + <dt>Introduction</dt> + <dd> + <p>This page explains how programmers can make other websites and software + interact with WhatDoTheyKnow via an "API". + </p> + + <p>WhatDoTheyKnow does not have a full API yet, but we are gradually adding + lots of things that are similar in use to an API as they are requested. + </p> + </dd> + + <dt>Linking to new requests</dt> + <dd> + <p>To encourage your users to make links to a particular public authority, use URLs of the form + <%= link_to new_request_to_body_path(:url_name => "liverpool_city_council") , new_request_to_body_path(:url_name => "liverpool_city_council") %>. + These are the parameters you can add to those URLs, either in the URL or from a form. + + <ul> + <li> <strong>title</strong> - default summary of the new request.</li> + <li> <strong>default_letter</strong> - default text of the body of the letter. The salutation (Dear...) and signoff (Yours...) are wrapped round this. </li> + <li> <strong>body</strong> - as an alternative to default_letter, this sets the default entire text of the request, so you can customise the salutation and signoff. </li> + <li> <strong>tags</strong> - space separated list of tags, so you can find and link up any requests made later, e.g. <em>openlylocal spending_id:12345</em>. The : indicates it is a machine tag. The values of machine tags may also include colons, useful for URIs. + </ul> + </dd> + + <dt>RSS (actually, Atom) feeds</dt> + <dd> + <p>There are Atom feeds on most pages which list FOI requests, which you can + use to get updates and links in XML format. Find the URL of the Atom feed in + one of these ways: + <ul> + <li>Look for the <img src="/images/feed-16.png" alt=""> RSS feed links.</li> + <li>Examine the <code><link rel="alternate" type="application/atom+xml"></code> tag in the head of the HTML. </li> + <li>Add <code>/feed</code> to the start of another URL. + </ul> + + <p>In particular, even complicated search queries have Atom feeds. + You can do all sorts of things with them, such as query by authority, by file + type, by date range, or by status. See the <a href="<%= advanced_search_path %>">advanced search + tips</a> for details. + </dd> + + <dt>JSON structured data</dt> + <dd> + <p>Quite a few pages have JSON versions, which let you download information about + objects in a structured form. Find them by: + </p> + <ul> + <li>Adding <code>.json</code> to the end of the URL. </li> + <li>Look for the <code><link rel="alternate" type="application/json"></code> tag in the head of the HTML. </li> + </ul> + + <p>Requests, users and authorities all have JSON versions containing basic + information about them. Every Atom feed has a JSON equivalent, containing + information about the list of events in the feed. + </p> + </dd> + + <dt>Spreadsheet of all authorities</dt> + <dd> + <p> + A spreadsheet file listing every body in WhatDoTheyKnow is available: + <%= link_to "all-authorities.csv", all_public_bodies_csv_path %> + </p> + + </dd> + </dl> + + <p>Please <a href="<%= help_contact_path %>">contact us</a> if you need an API feature that isn't there yet. It's + very much a work in progress, and we do add things when people ask us to.</p> + + <div id="hash_link_padding"></div> +</div> + |