Nav

Lab 4: Create the Omni Channel Experience API Portal

Overview

So far in this module we have learned how to discover API’s using Anypoint Exchange, design API’s using Anypoint Design Center, and then publish the API to Anypoint Exchange to enable other developers to find and use our API. The last Lab in Module 1 shows you how to create an API Portal, an important tool that helps drive API adoption and enables self-service.

Step 1: Add Terms and Conditions

In the previous lab we created the Main Portal Page, so now we are going to add Terms and Conditions to your API.

  1. Press the Edit button that is at the top right corner.

    module1 lab4 edit exchange portal
  2. Click on the Add terms and conditions.

    module1 lab4 add terms and conditions

    Here you can add free text as we did with the API Portal.

  3. Complete with the following text:

    Please read these Terms and Conditions carefully before using the API operated by Mythical Company.
    Your access to and use of the Service is conditioned on your acceptance of and compliance with these Terms. These Terms apply to all visitors, users and others who access or use the Service.
    By accessing or using the Service you agree to be bound by these Terms. If you disagree with any part of the terms then you may not access the Service.
  4. Press Save as draft when you are done editing:

    module1 lab4 api reference

Step 2: Validate the API

The API Summary gives you the opportunity to do a request and call the mock service or an implementation of the API.

We are going to see how can be done.

  1. Go to the API Summary

  2. Press Resources → /products → /search → Product Search

    module1 lab4 exchange product search
  3. On the right side of the panel you will see the GET method to be called.

    module1 lab4 product search

    You can see a combo where you can select the implementation you want to call. In this case we only have the mock service, but we are going to come back in Module 5.

    You can see the Parameters and Headers how they are filled.

    In the Parameters tab you can optionally click on the checkbox and see all the optional parameters that can be send.

  4. Press SEND and see what happens.

    module1 lab4 exchange product search response

    You can see the mock response and you can see:

    • module1_lab4_http_response: Here you can see the http response and the response time

    • module1_lab4_message_icons: These let you download the response, copy the response to clipboard and format in a better way.

    • module1_lab4_details: Finally there is a detail Tab that will show you the Request Detail. URL, Response and Request headers.

      module1 lab4 response details

Step 3: Create an API Notebook - Optional Step

The API Notebook is an interactive tool that let’s API consumers explore and interact with an API in unique and innovative ways. The API Notebook utilizes in-browser Javascript to allow the user to invoke API method and visualize the message response. The user can then call additional APIs without leaving the webpage utilizing the data returned from other API calls.

  1. Press the "Edit" button.

  2. Add an API Notebook page to the API Portal using the "Add new Page" button:

    module1 lab4 add notebook
  3. Write API Notebook in the field and press Enter.

    module1 lab4 api notebook name
  4. You will see the page editor with the tool bar at the top. You can add an API Notebook script. Click on the icon that is at the end of the tool bar.

    module1 lab4 notebook icon
  5. You should now see the API Notebook editor. To get you started as an API Notebook author, the API Notebook generates the Javascript necessary to create an instance of a client object for your API.

    module1 lab4 notebook editor
    Go to the Visual Tab to see the script.

    This page looks a little "techie" to me, so let’s provide some text to guide the user on how to use our API Notebook.

  6. Copy and paste the following text on top of the notebook script:

    To start interacting with the API Notebook, first create an API Client in the code cell below:
    To insert text on top of the script, you may change to the Markdown tab
    module1 lab4 notebook text cell

    See what we did there? We just added some text to help the user understand how to use the Notebook. It is important to guide the user through the proper usage of the API Notebook page.

    module1 lab4 notebook text cell visual
  7. Let’s create our client object now. Next to the code block that contains the API.createClient(…​ function, click Play snippet and see what happens

    module1 lab4 notebook code execute

    You should notice a brief pause and then a new code cell will appear below the API.createClient(…​ block:

    module1 lab4 notebook method execute

    So what happened there? Well, if you understand Javascript you would note that the code above created an "API client" object and stored it in the variable names "client".

  8. Add another notebook script at the end of the document.

    module1 lab4 add notebook script
  9. Type client. inside the script text

    module1 lab4 notebook resources

    The API Notebook has the ability to use context sensitive clues and detect that you were trying to invoke a method on a resource in your API, so it was smart enough to present to you the resources that are available to call. This simplifies the coding and helps the user understand what parameters are required.

  10. Copy and paste the following code into the code block (replacing what you were typing):

    client.products.product.product_id("1212121").get({client_id: "", client_secret: ""});
  11. Click on Play snippet button

    You should see an object being returned from the GET /products/product/{product_id} call just below the code block. Expand the body to see the data that was returned. If successful it should look something like this:

    module1 lab4 notebook get product response

    Now you can demonstrate how to interact with the API and deliver meaningful documentation to the API consumer.

  12. Once you finished with the notebook script save the API Notebook by clicking the Save as Draft.

  13. To check that everything is working as expected you can click the Play Notebook button, and check that the complete script is working.

  14. Press the Publish button.

    We are done, we finished building the API Portal. You can create as many pages as you want in order to enrich your API Documentation.

In the next step we are going to see how to make the API public using the Public Exchange Portal of the Organziation.

Step 4: Review Public Exchange Portal - Optional

Anypoint Platform provides a Public Portal. This portal can be accessed by everybody and there you will publish all the public apis. Any user with Exchange Administrator role, on the main business group, can edit the portal. As there is only one the idea is to not modify anything.

  1. Go to the Exchange landing page by clicking on Exchange at the top of the current page.

  2. Press Public Portal link.

    module1 lab4 public portal

    You can see a main page. Here you will see all the public APIs listed.

    Also you can see two pages at the top.

    • Home

    • Terms and Conditions

      These pages are custom pages created for this workshop. You can create your own design and ideas. If you are Administrator, on the top right part of the page, you will see a button Customize

  3. Press Customize button

    module1 lab4 public customize

    A new menu will appear on the right side of the page. There you can configure the complete portal. It is divided in

    • Top Bar. This page is the header of the site. This page comes by default.

    • Welcome section. Is the first page that all the users are going to see when you access to the public portal . This page comes by default.

      Inside the pages you can configure:

    • Logo to be displayed

    • Favicon to show in the browser tab

    • Background Color

    • Text Color

      mule1 lab4 edit porta page menu

      You can change configurations and create as many pages as you want.

Congratulations! You have completed all of the labs in Module 1!

Please proceed to Module 2