This guide gives a quick walk through the WSO2 API Manager product to get started fast. It introduces some of the basic features and the process from creating to testing a simple API. For a detailed description of how to install, set up and use the product's features and functionality, see each individual section of this documentation.
This guide covers the following:
Setting up the API Manager
- Ensure that the following prerequisites are satisfied.
- JDK 1.6.* or higher installed.
- JAVA_HOME environment variable is set to <JDK_HOME>. For example,
JAVA_HOME=c:\Program Files\java\jdk1.6.0_27
.
- Download the API Manager Binary distribution from http://dist.wso2.org/products/api-manager/1.4.0/wso2am-1.4.0.zip
- Extract the zip file to a folder which will be referred to as the <APIM_HOME> throughout the rest of this guide.
- Open a command prompt (or a shell in Linux) and go to <PRODUCT_HOME>\bin directory.
- Start the API Manager server by executing wso2server.sh (or wso2server.bat in Windows).
- The operation log keep running until the server starts, which usually takes several seconds. Wait until the server has fully booted up and displays a message similar to "WSO2 Carbon started in n seconds."
Browser Language
If the default language settings of your web browser is not English or Spanish you will come across an issue of getting 'null' as the lables in API Publisher and Store. To overcome this you can change the default browser language to English OR
Rename
APIM_HOME/repository/deployment/server/jaggeryapps/publisher/site/conf/locales/jaggery/locale_en.json ,
Creating an API
Now that the API Manager is up and running, let's create a simple API using the API Publisher Web application.
- Open a web browser and access the URL: https://localhost:9443/publisher.
- You should see the API Publisher log-in screen. Type user/password as admin/admin and click Login button.
- The API Provider home page opens with all created APIs listed. Since first-time users haven’t created any APIs so far, they will not see any APIs. Click on the Add button to open the Add New API window.
- As our first example, we are going to create an API named FindTweets, which is based on the on-line search functionality provided by Twitter (http://search.twitter.com). Consumers of our FindTweets API will be able to search for Tweets by providing a keyword as the input. Our API will accept both GET and POST requests and the output will be an Atom feed.
Enter following values into the respective fields of the Add New API form. In this example, we have not provided some fields which are optional.- Name: FindTweets
- Context: /twitter
- Version: 1.0.0
- Appropriate image as the thumbnail
- Endpoint: http://search.twitter.com
- Tiers : Gold, Silver, Bronze (select all 3 – this field supports multiple values)
- Business owner: Bruce Wayne
- Business owner e-mail: dark.knight@wayne-enterprises.com
- Technical owner: Peter Parker
- Technical owner e-mail: spidey@dailybugle.com
- Click the Create button at the end of the form to save the API configuration. You will be taken back to the API Provider home page where the new FindTweets API will be listed.
- By clicking the FindTweet API, you can open its Overview tab, which lists a summary of the information entered when creating the API. The page also has other tabs.
Publishing the API
When you create a new API, it's initially in the CREATED state of its life cycle. When an API is in this state, the consumers cannot see it in the API Store.To enable consumers to view and subscribe to this created API, it should be promoted to the PUBLISHED state.
- To publish the API, select the Life Cycle tab where you will see a drop down with different states the API can be in.
- Select the PUBLISHED state in the drop down and click the Update button to apply the state change. The API Provider immediately displays the API state as PUBLISHED.
Subscribing to the API as a consumer
Now that the API is published, consumers should be able to see it and subscribe to it through the API Store.
- To access the API Store, open a web browser and type the URL: https://localhost:9443/store. The FindTweets API will be listed on the home page itself. Anonymous users also can access this API. To subscribe to an API, it is required to log in.
- Log in to the API Store using the default admin/admin credentials and click on the FindTweets API to go to the API overview page. There you should be able to see the Subscribe option.
- To subscribe to an API, you should have an application in place. Select the DefaultApplication in the Applications drop down.
- The Tiers drop down lists all the tiers specified when creating the API. Select the Gold tier and click on the Subscribe button.
- Choose to proceed to the My Subscriptions page in the pop-up that appears.
- The DefaultApplication will be displayed there along with its subscription to the FindTweets API.
- Click the Generate button to obtain a key for your application.
Testing the API
Any REST client can be used to invoke the FindTweets API. For Curl, use the following command to invoke the FindTweets API.
curl -v -H "Authorization: Bearer xxxxx" http://localhost:8280/twitter/1.0.0/search.atom?q=wso2