Ecommerce APIs: What they are and why they matter
This is the first in our three-part series on ecommerce API integrations: what they are, how they’re changing, and who’s innovating in the field today. In Part One, we’ll go over definitions, explain why API integrations are important for ecommerce businesses, and look at what separates a great ecommerce integration from a mediocre one.
What is an ecommerce integration?
An ecommerce integration is any API (application programming interface) that connects with an ecommerce platform to share data or support processes with another application outside of that platform or system.
How do ecommerce APIs work?
Typically, ecommerce APIs help integrate an ecommerce merchant’s backend process or database with an external service or application. Ecommerce APIs enable data stored or generated in one application readable and usable by another.
Let's look at the example of inventory management. If a merchant is selling across many channels, their inventory management system has has to be able to retrieve and send up-to-date information to any channel where their goods are sold.
What kinds of problems do ecommerce API integrations solve?
Before the rise of APIs 20 years ago, the best option developers had to transfer data between applications was copying data manually. This was and is incredibly slow and error-prone.
Soon after, practices like scraping that were originally used by companies like Google to improve search results were then applied to scanning and copying data between different applications. While scraping automates at least parts of the data transfer, it comes with three major drawbacks:
Mismatched cadence: While scraping could theoretically happen constantly, most scraping sites are only able to scrape once every 30 days at most, due to the resources required to scrape constantly. As a result, scraped product data is frequently inaccurate and out-of-date.
Frontend dependence: Scrapers read and update based on the structure of a site’s frontend, but e-merchants’ frontends change frequently. So even if scrapers were able to revise at faster intervals, any change in the frontend makes the product data unreadable by the scraper.
Infrastructure overhead: Because frontends change rapidly, there’s a lot of overhead required to keep a scraping system up to date. With the frequency e-commerce platforms and merchants are updating their information, it’s impossible to keep up.
What are the most common types of ecommerce integrations out there today?
There are many types of APIs within ecommerce, and more specialized ones emerge every day. Some of the more common types of apis include:
Shipping services: Helping online merchants get their goods to customers
CRMs and customer data: Databases with key info on customers at every stage of the funnel
Third party logistics companies (3PLs): For merchants who don’t want to handle their own inventory logistics
Payment gateways: To handle payments, credit card info, etc.
Accounting management systems: For bookkeeping, payroll, taxes, etc.
Customer support: To help customers along their purchase journey
Marketing: To keep audiences engaged and in the loop
Social media: To raise brand awareness and to create additional channels for marketing and selling products
Analytics: To better understand company challenges and opportunities
And many more. There have never been more services resources to make it possible for merchants at any scale to start an online store: integrations are a big part of why that's the case.
Why do ecommerce integrations matter?
In an industry like e-commerce where there are dozens of different kinds of software tools that a single merchant needs, ecommerce integrations make it possible to automate a veritable ton of data transfers. APIs tackle functions like authentication, payment, and shipping processes so the merchant doesn’t have to manually move information back and forth between different applications.
As frontend experiences grow more diverse (think AR/VR, social commerce, the metaverse) online merchants are looking for the suite of integrations that allow them to reach shoppers through as many different online experiences as possible.
That doesn’t sound like such a big deal. Why is it so complicated or difficult?
As investor and author Packy McCormick put it:
Every big API-first business looks like it’s just software – just a few lines of code – until you look under the hood. There, you’ll find all sorts of complexity. Abstracting it away is the API’s raison d’être.
Every API has its own process and structure for exchanging the data it stores and generates. In ecommerce specifically, the challenge of abstracting away these processes so that they translate to another piece of software increases due to three main factors: the complexity of ecommerce platforms, the real-world consequences of ecommerce transactions, and the wide variety of scenarios and goods ecommerce deals with.
Complexity
Today, Violet boasts a comprehensive index of ecommerce platforms. There are hundreds of them, and while they share certain properties each has a few unique ones that require their own custom API features to make sure their data is extractable and readable by another application.
Each of those platforms may have different product schemas with different properties like SKUs, variants, location, etc,. Within a given vertical, they have different kinds of variants or properties for each model because the variety of products or services represented by that model are so different.
As an example, a concert ticket, an online degree, and a vacuum cleaner all have very different kinds of product variants. This would make abstracting a universal schema or set of models that would work for all of them incredibly challenging. The translation process involved in setting up an integration with each of these examples then requires replicating the product model in a way that is efficient, but also accurate.
That balance is delicate and challenging to get right, made all the more difficult by the wide range of schema across e-commerce platforms. While some have simple schemas, or ones that even seem simple from their perspective, it can still be difficult to translate that into a schema that a given channel or merchant can actually integrate with.
Real-world consequences
The stakes are also high with ecommerce: very few APIs out there have as many real-world implications as ecommerce ones. You’re working with digital bits, but those bits don’t just change a color, or inform the number of likes on a post. These bits will create physical actions in the built world. Someone will receive the API request, money will be taken from their bank account, and two to five days later that product is going to be delivered to someone’s door.
These physical consequences are especially true with the order lifecycle afterwards. In Violet’s case, if an item has been returned or canceled, it requires several actions on our part. We need the customer’s card data, and we need to return the money from the merchant and the channel and give it back to the customer. There are a lot of moving pieces to one simple return, all of which are happening in the world.
Many scenarios, many exceptions
The complex nature of e-commerce systems is also why we see so many plug-ins and extensions. Oftentimes APIs don’t offer the exact functionality that every app needs, so you build extension features and add-ons to make it work with your own database. If it’s not a cloud platform, you can actually extend the code base, and it changes the platform itself. At Violet both kinds of extensions are a part of our process.
What goes into the making of an ecommerce integration?
To build any integration, you need to go through five key phases:
Evaluation: Does the platform have the models & objects (carts, coupons, products) that you require?
Support: If the platform has the models you need, can it support all the actions required?
Access: Can you authenticate and access what the API partnerships require?
Building: This is the fun part! It generally breaks down into two parts:
Creating models: To build an effective integration, developers must create code-level “models” of every item sold by a merchant. Every model has a property. An effective integration must have equivalent models in their system that represent the models in the systems they’re integrating with.
Translation: This is when you translate from your models and properties into the other party’s schema.
What makes a great ecommerce integration?
While there are many, more granular aspects to ecommerce integrations that we value (see Part Two), we generally look for five things on our ecommerce API integration: clarity, efficiency, access, stability, & community.
Clarity
Clarity is one of our core values at Violet, and essential for us whenever we’re building an integration with an e-commerce platform. From their documentation to their sandbox directions to blogs and in-app experiences, we prize tools that are easy to understand and intuitive to start using.
Efficiency
For us, an API is as much about efficient processes as it is about the end-result. There are many small details that make a big difference in how efficiently a potential partner can get the integration up and running. These include supporting features like webhooks, avoiding two-click checkout or cart processes, and getting all the required information with a single API request.
Access
Not all APIs provide quick and easy access to their documentation and tools, creating roadblocks and paywalls to getting started. Some APIs will give access to certain features only to take them away. This may work for some business models, but at Violet we prioritize democratized access to our tech so everyone can benefit.
Stability
At Violet, we’re trying to build integrations that last. But a few times, we’ve invested time and energy in an integration only to have our partner sunset their integration, or sell to somebody else, or roll out a new API. To avoid giving customers a bad experience, we need to work with other partners who are invested in long-standing, stable integrations.
Community
While we’re in no way beholden to more established e-commerce platforms over newer start-ups, we do think it’s important to consider who else is using the platform we’re integrating with. The power of an e-commerce platform to accelerate online purchases is based on the quality and type of merchants they’re supporting. So when building an integration we think it’s important to have a clear understanding of the network we’re plugging into, so we can build stronger integrations that serve their needs.
Why does this process matter so much at Violet? What do we mean by unified API?
As of March 2022, Violet has built a lot of e-commerce integrations, and we experience the pain that comes with that process every single day. We do this hard work, so you don’t have to. The result of this hard work is a unified API.
We are building this unified API because we believe in the potential of connecting all merchants, platforms and channels. Our product was born out of a desire to take down barriers and open access to any online merchant or channel with an internet connection. Building that many integrations into a single API will be no small feat, but we believe the payoff will be well worth it for merchants, for channels, and for all of Violet’s e-commerce platform partners.
——————
Key terms
API: An application programming interface, or API, is a piece of software that enables companies to open up their applications’ data and functionality to external third-party developers, business partners, and internal departments within their companies.
Schema: In software development, a schema describes the structure, content, and semantics that organize the data or database.
Object: An object is the representation of a single entity that is described by the schema and accessed by the model. For example, a shirt in an e-commerce store’s inventory would constitute an object. Objects usually have properties (aspects that vary from object to object) and classes (groups of objects that share an identity or properties).
Model: A model is described by the schema and allows for a system to access and manipulate the properties of an object.
For additional e-commerce key terms, visit our E-Commerce Glossary.