What is this API sef?

What is this API sef?

I struggled with understanding it at first too NGL..

What is an API in very simple terms?

You’ve probably heard the term API before, almost rhymes with APC lol. Anyway, API is the acronym for Application Programming Interface, which is a software intermediary that allows two applications to talk to each other.

To simplify, an API delivers a user response to a system and sends the system’s response back to a user. You click “add to cart;” an API tells the site you added a product to your cart; the website puts the product in your cart, and your cart is updated.

How do APIs work?

APIs work by sharing data and information between applications, systems, and devices—making it possible for these things to talk with each other. When you use an application on your mobile phone, the application connects to the Internet and sends data to a server. The server then retrieves that data, interprets it, performs the necessary actions and sends it back to your phone. The application then interprets that data and presents you with the information you wanted in a readable way. This is what an API is - all of this happens via API.

Examples of API

To explain this better, let us take some examples

Ordering at a restaurant

waiter.jpg

Imagine you’re sitting at a table in a restaurant with a menu of choices to order from. The kitchen is the part of the “system” that will prepare your order. What is missing is the critical link to communicate your order to the kitchen and deliver your food back to your table. That’s where the waiter or API comes in. The waiter is the messenger – or API – that takes your request or order and tells the kitchen – the system – what to do. Then the waiter delivers the response back to you; in this case, it is the food. Got it? Yeah. Good.

Okay let's take one more example right?

Going to a bank.

Think of yourself as a user and a bank teller as an API, while the bank is the system you interact with. When you want to take some money out of your account, you walk up to the teller(API) and say “I’d like $1,000 from this account”. The teller (API) then goes to the back, tells the bank manager (the system) “Mr/Ms.X would like $1,000”, the bank manager (the system) gives the teller (API) $1,000 who eventually gives it to you. As you can see the API, is a messenger between your needs and the system just like this guy here.

teller.jpg

One last example okay? You know, just so you get it.

Finding a Facebook profile.

Stalking your ex? Hopefully not, but thanks to APIs, you can do it easily! If you type in “Desmond Eliot” on Facebook, the API informs Facebook’s servers that you’re looking for a Desmond Eliot. Facebook then sends you a list of all the profiles that match that name (with factors like vicinity to you, or mutual friends). Now you can find your Desmond Eliot! Easy-peasy!

What are APIs used for?

APIs are used for lots and lots and lots of things, including:

  • powering desktop applications.
  • APIs are behind most web applications.
  • APIs make mobile applications possible.
  • APIs are the integrations for no code solutions.
  • connecting devices to the internet.
  • APIs define the networks—or the information passed between applications, systems, and devices.
  • APIs even connect everyday things like automobiles, doorbells, dishwashers, and wearable devices.

Additionally, APIs help you access the data you need to get your work done and do daily tasks—whether you’re a business user, a student, or using an application just for fun. APIs make it possible to integrate different systems together, like Customer Relationship Management systems, databases, or even school learning management systems. APIs help different departments, teams, and groups become more agile. APIs help organizations, schools, government agencies, and nonprofits strengthen relationships with other organizations, research institutes, and agencies.

Importance of APIs

  • Integration with internal and external systems: If you want your Customer Relationship Management (CRM) system to integrate with your Marketing Automation system, you could use an API to enable the two systems to talk to one another so that you automatically send a marketing email when a sales representative adds a new prospective customer to the CRM.
  • Adding or enhancing functionality for customers: Sometimes when you add or enhance functionality, it’s about improving customers’ experiences and helping them interact better with your organization. For example, if you worked for a food delivery company, you might use an API to automatically notify customers when their meal is approaching their house.
  • Speeding up software and system development: APIs allow developers to code and deliver functionality as microservices, instead of big, monolithic applications. By breaking this functionality up, developers can actually speed up software development and system development by eliminating dependencies and reducing the overhead involved in code reviews, testing, and more.
  • Another way that APIs help accelerate development is by allowing frontend and backend teams work in parallel. In other words, a frontend developer can work on creating the frontend of a system, what users and customers see, while a backend developer can work on the underlying system, or what users and customers do not see.
  • Reducing operating costs: Another reason developers use APIs is to reduce operating costs. APIs can help perform a number of functions that may have been done by humans from pulling reports to sending emails to abstracting data from one system to share with another system. APIs can help reduce operating costs in many, many other ways. Examples include, automatically starting up and shutting down manufacturing systems, creating schedules for workers, or even reducing the number of people who need software licenses.
  • Reducing software development costs: One of the biggest ways APIs can reduce software development costs is by allowing developers to build reusable components. For example, a backend developer can create a system that serves up information about customers, including their names, email addresses, recent product purchases, etc. Then other developers across the organization can use APIs to grab that information and track payments for finance and accounts payable, help customer service resolve problems faster, or even create recommendations for marketing campaigns.
  • Improving software and system testing: APIs can help improve software and system testing by allowing quality engineering teams to separate tests for frontend components, the parts of software that users see, from tests for backend components, the parts of software that users don’t see. API health, quality, and performance can also be checked using automated testing, and API testing can be integrated into the CI / CD pipeline.
  • Improving organizational security and governance: APIs can be used to improve organizational security. For example, APIs are often used to power Single Sign-On, which is the ability for users to use one username and password to login into multiple systems. This helps avoid the dreaded pile of sticky notes with usernames and passwords, which can be a big security risk. APIs are also often a big part of corporate governance, too. APIs can be used to enforce and automate corporate rules and policies like requiring approval before expenses are paid to employees.
  • Enabling mobile applications: A lot of mobile applications rely on APIs to deliver important information to mobile users. For example, if you use your mobile phone to check in for a flight and select your seat, APIs can communicate the seat you selected so that flight attendants know where you are seated when you get onboard.
  • Reducing outages and non-performing systems: Finally, APIs can help reduce outages and non-performing systems. For example, a company might use an API to quickly identify a specific problem with a manufacturing line, and even recommend a fix, which helps maintenance staff fix the system and get back online faster.

Types /categories of APIs

One way to categorize APIs is by who has access to them:

  • Internal APIs are APIs that are private and only used by your team, department, company, or organization.
  • External APIs, also known as public APIs or open APIs (which is not to be confused with OpenAPI), are publicly available APIs that are available for anyone to use.
  • Partner APIs are private and shared only with specific, integration partners outside of your organization.

So....its been quite a read and I hope that you now fully understand what APIs are, examples their importance and how they are used.

Thank you for coming to my ted talk.