APIs

By

min read

Let’s imagine – You are setting up a restaurant, opening day is in four weeks. You have made a bulk purchase of dining sets with chairs of your choice. There has been a delay in receiving the order and you have no additional details other than your invoice. The next step is that you contact customer service to receive an update. When contacting Customer Service they realize that they only have details of the order but need shipping details from the shipping service. The Customer Service person reaches out to Delivery services to get the shipping details. This creates delay in serving the customer and successfully delivering the required informtion, thereby affecting business metrics.
In this situation, how would you like when all the bits and pieces are available at one place so you can focus addressing customer problems seamlessly and faster; also increasing customer satisfaction scores.

APIs make this seamless experience possible!

API (Application Programming Interfaces)

acts as digital connectors, facilitating seamless synchronous interaction between different software applications, services, or platforms. Essentially, APIs dictate how different software components should communicate with each other, allowing them to share data, functionalities, or services.

So, how would you solve this issue?
The store system (CRM/ ERP) needs to connect with shipping services APIs in order to receive realtime shipping and order data!

Well, that sounds simple. Isn’t it ? Let’s look on how a Product Owner above this problem statement.


Understanding the path by Product Owner

Isaac, the product owner, has been reached with this problem by his business leadership.

  • The first thing Isaac does is Identify Stakeholders to understand the (WHYs) primary problem and painpoints.
  • He learns HOW the problem collates with the business objectives and how integrating APIs aligns with their goals.
  • He conducts interviews with key stakeholders, end users to outline primary scenarios, understands customer journey and interactions where API will be used, analyzes the data to learn the impact and works with business users to draw objectives, key results and key performance indicators to measure value of the feature.
  • He engages to document business processes in the form of business flow diagrams to capture personas, navigation and platforms involved.
  • He initiates them in the form of business use cases and further breaks them down into individual user stories.
  • He works on the user stories to capture detailed functional requirements of the API
    • This includes understanding which API to consume. In our use case1, we are looking to –
      • Track location of the shipment and history of locations
      • Receive shipment status
      • Verify address information
      • Information on shipping delays
    • He defines the operations it should support (GET, POST, PUT, DELETE)
      • For the above use cases, we need to GET the data from Shipping services for out shippment record
    • Furthermore, he also defines
      • Data formats (JSON, XML) and structure in which data is to be sent or received
      • Data validation rules
      • Any transformations
      • Authentication methods (API Key, OAuth) required to access the API
      • Specify Error codes, messages and formats for consistent error responses
      • Lastly, define rate limits and control the number of requests allowed within a specific timeframe. Rate limits are number of requests you can make to the API to receive information. Issac works with the customer service team to understand number of requests for shipping details have they received in the last 6 months to make a decision for requesting additional limits to avoid discrepencies in the future
  • As non-functional requirements, Issac focuses on –
    • Response time, throughput and scalability to ensure that API can handle user loads without degrading the performance
    • API is secure and complies with industrial standards and regulatulations like GDPR, HIPAA etc.
    • Ensures its scalability as the user demand grows
    • Defines strategy for downtime, rollbacks, backup and recovery

USER STORIES

As a Customer Service agent, I need tracking information on shipment, so that I can update status to the customer

As a Customer Service Manager, I need a dashboard highlighting shipment delays, so that I can facilitate the roadblocks for the customer

As a system, I need API to handle user load, so that Customer Service agents can work seamlessly

  • While building the user stories, he establishes a clear roadmap for API development.
    • He checks for any features that can be considered as a Minimum Viable Product (MVP)
      • He then collaborates with the stakeholders to understand the priority of the use cases
  • Once priorities are set, he works to prepare his product roadmap and arranges meetings following agile methodology
  • He meets with architects to understand the complexity and effort of the user stories. He not only discusses the solution but also learns best practices to suppliment the solution to other business units or future use cases
  • He aligns the stories in sprint and also validates the requirements and ensures gathered requirements are accurately addresses with intended functionalities and user needs
  • As the development is complete, he involves stakeholders for giving a demo to validate the solution prior to deployment. He ensures that all acceltance criterias are met and suffices user needs

By following these steps, Issac has effectively gathered actionable requirements and fostered a shared understanding among stakeholders aligning with business objectives. Balancing these functional and non-functional requirements, Issac ensures a successful and scalable implementation of API.


Learn more about APIs
  • There are different types of APIs:
    • RESTful APIs: Representational State Transfer APIs use HTTP requests to perform actions like GET, POST, PUT, and DELETE, commonly used in web services.
      • Integrating payment services to e-commerce platforms
      • Integrating maps in applications to provide location data
    • SOAP APIs: Simple Object Access Protocol APIs use XML for message formatting and are known for their strict standards and security.
      • Integrating shipping services into systems
      • Utilizing CRM APIs to insert & update data
    • GraphQL APIs: A query language for APIs that allows clients to request only the data they need, providing more flexibility than traditional REST APIs.
      • Offering access to limited content interact with platform data
    • WebSocket APIs: They enable full-duplex communication channels over single, long-lived, synchronous connection
      • Real-time chat/messaging between users
      • Real-time streaming of stock markets, receive market updates
  • You should have clear requirements/vision to determine which APIs to consume.

I hope this blog provided valuable insights. Please share your thoughts on the content and any areas where improvements could enhance your experience.

  1. While building the use case, I referenced API catelog offered by DHL ↩︎