Postman is also a developer experience tool
ShipEngine serves businesses across the e-commerce spectrum, from individuals selling their own products to well-known global brands. In any given month, thousands of developers and QA engineers are actively working with the ShipEngine API during various stages of development. Those developers and QA engineers are likely also working with a variety of API vendors that power other platform services. The ShipEngine team has found that, in many cases, Postman is a common denominator for engineers working with REST APIs of all kinds.
Postman is a familiar tool for API teams today. It’s the lingua franca for how to understand APIs.
As a rule, engineers prefer tools that not only make their job easier, but are also enjoyable to use. The ShipEngine team sees Postman’s ease of use and intuitive experience as an important driver of developer happiness, which leads to greater productivity and customer satisfaction. Regardless of the project or a user’s skill level, Postman helps users simplify workflows and get their jobs done faster. For this reason, ShipEngine decided to invest time and effort into leveraging Postman to build an enjoyable experience around using the ShipEngineAPI for their developers, and more importantly, for their customers.
We see Postman as a ‘developer experience tool’ that helps our customers and internal teams stay as productive as possible when working with our API.
A guided tour in a Postman Collection
Initially, the ShipEngine team used Postman Collections to create a comprehensive API reference that documents every endpoint in the ShipEngine API. Each endpoint is listed individually as a one-off request, rather than combined in a specific order to represent a service workflow. This is particularly helpful for users who want to drill down to explore a particular endpoint, but it is less so for new users who simply want a broad understanding of the ShipEngine API as a whole. When that new user is a customer, a good developer experience—including onboarding—can be vital to driving the business.
To ease user onboarding, the team built a second collection that presents ShipEngine endpoints in a very different way. Using scripts in Postman, they chained requests together to pass data from one endpoint to another and return a meaningful result that the user could easily understand and leverage in their own integration. Users walk through ShipEngine’s most popular features step by step, running each request in order to learn how each service works. The collection also features visualizations using Postman's Visualizer to make response data even more user-friendly. Users can click the visualizer button and turn hundreds of lines of JSON data into an easy-to-digest format, such as a table, grid, or even an image. For example, when a user runs a request to generate a shipping label, the visualizer tool turns the returned data into an actual label image that is displayed within the collection space.
Overall, the team designed the collection experience to feel like a guided tour of the ShipEngine API, and their intention hit home—customers loved it.
Customers tell us all the time how much our walkthrough collection helped them quickly get started with the ShipEngine API.
Because the team put so much work into building the walkthrough, they took the extra time to add full descriptions to each API request. This enabled ShipEngine to use Postman’s API documentation generator to automatically build a robust set of docs associated with each collection. To further support onboarding, the team built a ShipEngine on Postman landing page that includes a tutorial video and links to the documentation. Two Run in Postman buttons on the page enable anyone to import each customer-facing collection into their Postman client and jump right into the hands-on walkthrough or the docs.
A personalized Postman environment in one click
ShipEngine’s focus on developer experience led the team to explore even deeper customization features on Postman. They discovered that the Run in Postman button could do more than install a collection; at the same time, it could also install environment variables that would be personalized to the user. The team used the Run in Postman button API to pass data from a user’s ShipEngine account to Postman, which then uses the data to automatically create environment variables associated with ShipEngine’s collections. So, if a user is logged in to ShipEngine when they click one of the Run in Postman buttons on the website, the user’s API key, carrier IDs, and other configuration data will automatically get set up as environment variables, along with the ShipEngine collection, in the user’s Postman API client. The user can then immediately start making API calls without the need for extra manual effort.
Internal collections streamline testing and debugging
On the other side of the engineering organization sit the teams who are responsible for ingesting and integrating carrier APIs into the ShipEngine platform. Because many carrier APIs are built with aging technologies, such as SOAP or even FTP, exploratory testing is a big part of the integration process. During development, teams will create their own Postman Collection that allows them to try out a particular carrier API; for example, they can easily send different types of data to see what values are returned. As developers learn more about the API and document their findings, they can share the collection with other teams who may also need to work with that API. Internal collections also help new hires get up to speed quickly. Over time, these useful collections have proliferated at ShipEngine as teams use Postman for collaboration and knowledge-sharing across the organization.
Postman Collections help our developers efficiently test and debug carrier APIs, then easily build reference tools to share with other teams.
A simple code generator wows developers
Sometimes, small features make a big difference to the developer experience. One of the ShipEngine team’s favorite Postman tools is the platform’s code generator. The tool makes it easier for developers to integrate API requests into their own code by generating code snippets in a different language. The simple tool can greatly decrease development time and effort — and greatly increase developer happiness. Currently, Postman’s code generator supports 15 languages and 24 frameworks.
Whenever I demo Postman’s code generator at developer meetups, the audience is consistently impressed. It’s one of those features that people may not realize is there, but when they do, they can’t wait to use it.
In their usual way, the ShipEngine team has extended the tool in order to give their customers the best possible experience. Using Postman’s open source code generator library, the team customized the tool so that they could integrate multi-language code samples into the ShipEngine documentation.
Seamless customer onboarding drives business growth
ShipEngine’s investment in developer experience is paying off. The business is beginning to see exponential growth in API calls from current customers, as well as higher trial signups and conversion rates. The team believes that ShipEngine’s walkthrough collection on Postman has helped to influence this trend. Prospective customers can now more easily evaluate the ShipEngine API and service, and new customers can use the API more effectively.