Edge API Product to Drupal SmartDocs relationship and deployment model

Not applicable

Hi Guys,

I am curious about the relationship between API Products in Edge and their SmartDocs equivalents on the Drupal Dev Portal. How do people manage different environments without duplication of content? Lets say we have the following in Edge:

API Proxy

Customers-Proxy


API Products
Customers Sandbox (dev/test)
Customers (prod)

Ideally, the content related to the Customers API is displayed once, the endpoints are pointing to the sandbox environment (intended to return test data). If a developer then chooses to request access to the Customers (prod) Product after having explored the Customers Sandbox API, they might create a new app or update the existing app, which will require additional admin approval.

I am wondering how in Drupal to display a single Customers API - but make it easy for the user (from a ux and content perspective) to distinguish between Customers Sandbox for exploration and testing and Customers as the live API, they will need to request subsequent access to.

Hopefully this question makes sense!

2 3 380
3 REPLIES 3

@aseemhanda , Great Question & Thank you for posting same, It's one of the common question that we see across our interactions when it comes to Smartdocs. Let me take this opportunity to talk about the approach some of our customers take & what is possible today.

Regarding, Relationship between API Products in Edge and Smartdocs :

  • API Model is the high level category of Smartdocs where you publish API Documentation.
  • We suggest, Having API Models based on your API Products so that it's easy to track & identify necessary APIs. It's just make sure API model names are similar to API Products.
  • Remember, Apigee smartdocs is just not tied to Apigee Edge. You can take any API & publish API Documentation using smartdocs in developer portal. You have the flexibility & it's not tied to Apigee.
  • Also, You can have a single API Model with different endpoints (hostname) by leveraging API revisions in smartdocs. You can further categorize them using Drupal CMS features to differentiate between sandbox APIs & production APIs within single API model.
  • See similar question here, how to deal with different environments.

Regarding, Sandbox & Production access - API Documentation display,

  • Some of our customers hardcode the production API endpoint part of the sandbox smartdocs API documentation. So that users know which endpoint to call once they have prod access. For example, See smartdocs here.

5006-payee-1.png

  • You can create multiple API models that points to different environments & access control same based on user roles (like user will have a additional role when they get prod access). See more about how to restrict access to smartdocs based on roles here.

Hope it helps. Please keep us posted if you have any queries.

PS: You can also use comments feature if you need any clarifications / feedback.

Thanks for this Anil.

The example screenshot above probably solves my immediate concern from a user experience perspective and is what I was hoping to be able to do using SmartDocs. Is this customisation within the specific method template, the default template for all SmartDocs or somewhere else?

Are you possibly able to share how to enable this?

@aseemhanda , You can update the default template in admin/config/smartdocs (see screenshot below). It will be applied for new models that you generate after the update or specifically in each smartdoc model settings.

5045-screen-shot-2017-06-08-at-124202-pm.png

Hope it helps. You can also click on accept answer link below the answer if your query is resolved so that it will be helpful for others.