API Overview: Difference between revisions

From Safe Creative API
Jump to navigation Jump to search
w>Jguillo
No edit summary
w>Jguillo
m (Reverted edits by Jguillo (Talk) to last revision by MediaWiki default)
Line 1: Line 1:
= API architecture =
<big>'''MediaWiki has been successfully installed.'''</big>
[[File:Arquitecture.png|frame|API architecture]]
Safe Creative API is a REST-like interface to Safe Creative services. It is stateless and is divided in 4 main areas
* '''Core''': Main services accessible through <tt><nowiki>http://api.safecreative.org</nowiki></tt>
* '''Upload''': API for uploading works, accessible through several upload servers (see [[upload.lookup]])
* '''Search''': Services for searching works accessible through <tt><nowiki>http://search.safecreative.org</nowiki></tt>
* '''Semantic''': Semantic services accessible through <tt><nowiki>http://search.safecreative.org</nowiki></tt>


[[File:APITrust.png|frame|API trust levels]]
Consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.
There are two levels of trust when using Safe Creative API
* '''Public API''': Anyone can use these services
* '''Partners API''': Some components are reserved for use by [http://en.safecreative.net/partners/ Safe Creative partners]. Contact administration@safecreative.org if you want to become a partner.


= Obtaining the keys to use the API =
== Getting started ==
 
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
You must have a Safe Creative Account to use the API. You can create your API key at https://www.safecreative.org/new-api-key
* [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
You will fill a form with some data that Safe Creative reviews in order to make the final authorization to use the application key:
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
 
* Name: Name of the application that will use the Safe Creative API, it's a public name shown when an authorization to the user is made
* Shared key: Provided shared key used to identify the applications calls
* Private key: Provided private key to sign some API requests
* Description: Public description of the service provided by the application
* Web site: Public URL of the site of the application
* API callback URL: Private URL used by Safe Creative to notify different types of events. See [[API callbacks]]
* API bringback URL: URL provided to the client user as the final step of key authorization. i.e., user will be redirect to this url after authorizing your application. See [[User authorization]].
* Notes: Private notes for the Safe Creative Team in order to obtain the activation of the keys
 
After some time you will obtain the activation of these keys, so you can use the Safe Creative API (you will be notified by email).
Once you have obtained an API key, you can manage your API keys from the ''Applications'' tab on your [https://www.safecreative.org/myaccount/tab/USERKEYS_AUTHS Safe Creative account]
 
= Arena sandbox environment =
 
There is a testing environment available at http://arena.safecreative.org.
 
This is a complete replica of the Safe Creative web site, including an API server. You can create user accounts, register works and request API keys.
 
It is strongly encouraged to use the arena environment for testing the API before using your application on the real service. To do so, you must request your application key at https://arena.safecreative.org/new-api-key instead. Arena application keys are immediately activated, so you can start testing the API as soon as you want.
 
As a matter of fact, API keys for production environment will not be activated if the application has not been previously tested against the arena environment
 
= Accessing the API =
 
Safe Creative API Web Services are accessible via a REST-like interface. The interface is rooted at <code><nowiki>http://api.safecreative.org/v2/</nowiki></code> for production services and <code><nowiki>http://arena.safecreative.org/v2/</nowiki></code> for the arena environment.
 
All requests must be done using the UTF-8 charset (HTTP request charset should be UTF-8).
Responses are formatted as UTF-8 XML. It is strongly recommended to use HTTPS instead of HTTP. Some methods are required to be called using HTTPS.
 
= Parameters =
 
Parameters can be sent by POST or GET. You can mix POST and GET parameters.
Some operations must send xml parameters that are best suited for POST method, but this is not required.
 
There are some common parameters: locale, sharedkey, ztime, authkey, signature, component and format
* '''component''' is the name of the method or function to execute
* '''sharedkey''' is the key assigned to the application. It has an associated private key.
* '''locale''' is used to translate some messages to the specified locale. Locale format is language-country-variant, e.g. en-US
* '''ztime''' is the number of milliseconds since January 1, 1970, 00:00:00 GMT (see [[ztime parameter]]). You can use the [[ztime component]] to retrieve the server ztime for synchronization
* '''authkey''' is the user authorization for the application to use his account. It has an associated private key.
* '''signature''' is a hash of the request computed using the private key associated to the sharedkey or authkey (depending on the component being called). See [[signature parameter]].
* '''format''' specifies the response format: xml (default) or json
 
Read the [[API reference]] to know the parameters expected by each component. Non-required parameters can be omitted from a component call.
 
= URL syntax =
 
API calls usually have the following format:
 
<pre>http://api.safecreative.org/v2/?component={component}&parameter1=value1&parameter2=value2&ztime={ztime}&signature={signature}</pre>
 
Some operations do not require a signature, so you can avoid calculating and sending it. The same can be said for the ztime
 
= User authorization =
 
See [[user authorization]]
 
In order to register works for a user, you need that user's authorization. User's authorizations are represented by an '''authkey'''.
 
You create an authkey with [[authkey.create]]. Then you must redirect your user to the user authorization page, where he must complete the authorization process. Once authorization is complete, user will be redirected to you user bringback URL.
 
= Callbacks =
 
See [[API callbacks]]
 
The API server will use your callback URL to send your application several notifications.
 
= Error handling =
 
See [[Error handling]]
 
Invalid parameters or requests return an error, server-side problems return an exception.
 
 
 
 
* [[Error handling]]
* [[About users]]
* [[About Works]]
* [[User management]]
* [[Building common URLs]]
* [[Paginated requests]]
* [[API Arquitecture]]
 
= See also =
* [[API reference]]
* [[How to]]
* [[Troubleshooting]]

Revision as of 13:28, 4 May 2010

MediaWiki has been successfully installed.

Consult the User's Guide for information on using the wiki software.

Getting started