benjamin
Benjamin Dean
May 23, 2016
Developers
Open platform

There and Back Again… a Developer Journey

Sorry about the J.R.R. Tolkien thievery on the title, but the convergence of working for a company with “Ring” in the name coupled with the “Journey” part of this article made me think of Lord of the Rings almost instantly.

What the heck is the RingCentral Developer Journey?developer journeyThe RingCentral Developer Journey is a group of interrelated features added to the Developer Portal focused on streamlining the lifecycle of engineering your applications to operate with the RingCentral Platform (with the ultimate goal of getting your application into production).

Each feature provides developers with self-serve tools and information to help guide you forward as you develop by providing developers with valuable analytic data and an easy to digest UI.developer API callsMany developers immediately noticed the benefits and contacted us to say thank you for providing this improvement.

For any of you who have logged into the Developer Portal since around mid-March, you will have seen the changes for the Developer Journey.

Dashboard View Improvements

The first thing you will notice is on the Dashboard view of any Application defined, there is a new section which has a step-by-step diagram which represents the actual application lifecycle in simplified format.developer timeline

  • Create App — This stage is when you are first defining your application after you click on the “Create App” button from within the “My Apps” main navigation menu item. The great news is…once you define your application or integration in Developer Portal, you’ve already completed the first step!
  • Develop App — This stage is where developers working on developing RingCentral applications and integrations will spend the lion’s share of their time. This represents the state of an application which has exceeded the initial step of creating the app and has actually started obtaining access_tokens from the /oauth endpoint, or started making subsequent API calls using those tokens and an authenticated user’s account.
  • Apply for Production — Applications which have met/exceed the acceptance criteria defined for their application in the Status & Review section of Developer Portal for their application have the ability to “Apply for Production” with their application. Once you have pressed the “Apply for Production” button, you will be unable to modify any of the associated API permissions (so make sure you have all that set before hand). There is a blocker to accessing this stage of the Developer Journey, your application MUST meet the criteria which are provided in the “Status & Review” section of your application (more on that in a moment). Applications which are currently being reviewed or are “on-deck” for review will be held in this state until they are either “Approved” or “Declined” access to the Production Environment.
  • In Production — After your production graduation application and analytic data has been reviewed by our team, your app “may” be granted Production API Keys and Production access. You will be unable to make changes to your code and/or API permissions after your application has been granted public access (so make sure you have the state of your application set the way you like/require prior to Applying for Production button). In the event you need to create a hot fix, want to add a new feature, or anything which requires a deploy, currently you will need to create a brand new application. Your app cannot reach the “In Production” stage until you have clicked on the “Apply for Production” button (which is disabled until your application/integration has met or exceeded the production access criteria listed in the Status & Review section.

Status & Review

Every application/integration has the Status & Review section available. This section of your application/integration contains two parts: an upper section (identical to the Dashboard view, but placed here for convenience), and a lower section (this is the really important part when it comes to getting your application/integration in shape enough to enable the “Apply for Production” button.

There are three major sections (each which expands with more information and help bubbles):

  • 5+ API calls per each used endpoint (20+ in total)
  • <5% of 4xx errors
  • Exercise all requested permissions

You can see in the example below, this application is NOT in a fit state to enable the ability for the developer to “Apply for Production”. The developer has not issued enough API requests for each endpoint used (which maps to the API permissions being used by the application). The developer needs to reduce the % of 4xx HTTP errors in comparison to the number of successful attempts which have been executed. Lastly, this developer needs to either:

  • Remove a whole lot of API permissions they are not using
  • Start writing code to suit the requirement

developer production statusAnalytics

The last developer-facing feature added for the Developer Journey is the Analytics section of each application. This data is also displayed on the Dashboard section for each application respectively.

There are four (4) primary tabs you can use:

  • API Calls: This provides you with aggregated API call data
  • developer analyticsEnd Points: HTTP errors by endpoint (i.e… /account/~/extension)
  • developer end pointsPermissions: HTTP errors by API Permission (i.e… ReadAccount)
  • developer permissionsResponse Times: Provides API Perfomance Data by endpoint

developer response timesHelpful Hints

  1. Graduation Data Processing is executing and aggregated on an hourly basis (so you may not see any results change until the top of the hour)
  2. We try to review production access requests as frequently as possible during weekdays.
  3. Using these tools can help you to isolate issues, improve your application/integration’s performance, and keep our mutual customers as happy users!

Thanks for reading about the RingCentral Developer Journey, and happy coding!