What is an API?
An Application Programming Interface (API) is exactly what it sounds like - an interface that allows applications to talk to each other. It's kind of like a conversation, or even a contract, between one piece of software and another.
APIs aren't necessary. At least in some cases: you could develop a basic app that opens a webpage, reads information and displays it to the user (exactly like the user going direct to the website and reading the information for themselves). Using an API, however, the app would send a message to the website's API (in a structured format, like JSON) and the site's API replies with a structured response. This response is then displayed to the app's user through your user interface.
Imagine a weather app - it could simply open a website that details weather forecasts, read the information it's told to and reiterate this back to the user. It's simple, but has its drawbacks. And these drawbacks are eliminated by using an API:
- Without an API - the app is dependant on the website used to collate weather forecasts remaining static. The coding tells the app exactly where to find the necessary information, but if the website changes its structure or appearance this information may no longer be where the app is told to find it. The app could stop working because it can't parse the website anymore.
- With an API - the app and target website talk to each other based on an already established structure of request and response. The website changing its user interface for visitors is unlikely to change the API structure.
Using an API is preferable because it's more robust. It's very unlikely to stop working due to changes with the website's user interface. So how does this translate to using Inkthreadable?
Using Inkthreadable's API
You wouldn't be able to create an app that parses our site to find order information, even place orders, without using our API; your app will be dealing with sensitive details like a customer's personal information. Stuff we don't make available to the public, obviously. So you'd need to develop an app that communicates with our API through JSON or XML.
Your app will then send structured requests using pre-defined values, and answers will be returned as a structured response. This dialogue between your API and Inkthreadable's will allow you to build an app that integrates your own system with ours.
Inkthreadable's Shopify app is a great example of this. Our API communicates with Shopify's: each time an order is placed in a user's store our API requests the order details and Shopify responds using pre-determined values. Orders are then fulfilled using these values.
You'll need to know how to make API requests.