This article is going to get a little technical, so we want to start off by trying to help you assess if this information is even relevant to you. If you already know what an "API" is and are curious about what we offer, then by all means, skip this and chow down on the info below!
A public API isn’t something most customers are going to want, but it is suitable for the following situations:
-
You use a third-party software platform that has already built (or will build) an integration with the MarginEdge public API.
-
You, or your team, have the capability to build an integration with MarginEdge
Think any of these might apply to you? Okay, let's dig in.
What is a Public API?
The term API is an acronym for Application Programming Interfaces. (Yes, what a mouthful; now you know why it's only referred to by the three letters!) Software applications often use these interfaces as a way to communicate with each other, to pass data either one way or back and forth. Using API's is a common way to develop what we commonly know as an "integration" between two software applications. A public API is a programming interface that is made publicly available to software developers to give them a tool to access, read and utilize data. (Keep reading to help understand the definition of "public" here.)
Wait, does “public” mean that any programmer can access any restaurant’s data in MarginEdge?
Absolutely not! “Public” simply means that the interface is publicly defined and available to use. Think of it as the front door to your house. The door is there and available publicly to use, but you put a lock on the door to prevent unauthorized people from getting into your house. It is the same with a public API. While anyone can see that it exists, how to use it, and attempt to access it, only those authorized by a restaurant to retrieve data for that restaurant can actually "open the door" to access the data.
What does the MarginEdge Public API support?
The MarginEdge public API only supports data retrieval. This means it involves a one-way data flow from MarginEdge to an external software application. The public API cannot currently be used to create or update any data in MarginEdge.
The public API can only send:
- Invoice data
- Product data
- Categories
- Vendors
- Vendor items
This doesn’t mean that all possible data related to the above types is available. The API documentation, available at https://developer.marginedge.com, gets into very specific detail about what is included.
How does a customer or partner actually build an integration with the API?
It’s going to require someone with a technical background and experience. The developer portal (https://developer.marginedge.com) contains the documentation needed for someone to use the API and build an integration.
Is there an extra cost to use the API?
There is no extra cost to make use of the public API, it is included as part of any MarginEdge subscription. Please note that any customer who is not uploading invoices or creating products won’t find it of any value because the data you don't have is in fact the only data that is available through the API.
Can the API be used as an alternative to a POS or Accounting system integration?
Unfortunately, no.
A typical POS integration involves a one-way flow of data from the POS to MarginEdge, while the MarginEdge public API only supports a one-way flow of data from MarginEdge to an external software application. The functions supported by the public API currently do not allow for MarginEdge to read any data from an external system, like a POS system.
A typical Accounting system integration involves a two-way flow of data between MarginEdge and the Accounting system. MarginEdge imports vendors, chart of accounts, and other data from the Accounting system in order to establish mappings between the equivalent entities in MarginEdge, and it then keeps track of which transactions it has successfully posted to the Accounting system. The public API cannot replace any of this capability. Additionally, the public API does not support the retrieval of inventory data or daily sales entries that are often exported to Accounting.