API. You may hear this acronym thrown around a lot – whether in business reports, in a management discussion, or when reading an article. But what is an API? API stands for application programming interface. A piece of software that has API means that the application has a mechanism that allows it to be manipulated, and thus enhanced, modified, integrated, used, etc by creating more software to run with it, against it, and around it. Generally, a software API is a capacity that allows you to “bend” the software to adapt to your unique requirements. Not all business applications have an API – in fact, the makers of the program have to be deliberate in order to publish an API in their business software design.
One of NetSuite’s strengths is that it has a robust API that allows for it to be enhanced. Oftentimes, customers just use software – but rarely invent with it. That means that they are not thinking of new ways that their system can help make them more money. But NetSuite’s API allows businesses to invent with the software – and I have helped businesses grow over the last few years using this capacity.
In general, there are two different ways that you can modify NetSuite:
- Inside NetSuite
- Outside NetSuite
Inside NetSuite
SuiteBuilder: NetSuite has a whole environment for users to modify the system internally that does not require one to be a software developer. Inside the system, users can create new ways for data to interact. For example, you can create new database fields and database tables, and then craft the way you want the data to interact. This can lead to software that better fits the business and allows you to enhance your reporting.
SuiteScript: For those more proficient in writing code, NetSuite also has the ability to allow for scripting, all based in the ever popular JavaScript language. NetSuite’s API allows you to create specialized business logic based in software objects and methods that are used to drive the NetSuite environment. These methods are used to look up, create, and validate data with native NetSuite tables and fields.
Suitelets: The NetSuite Suitelet function allows you to create brand new user interface forms, drawing elements that go beyond the standard form builder. Here, you use SuiteScript to draw complex user forms that go beyond the SuiteBuilder point-and-click capacities. With my team, we developed a powerful product extension for a phone company using this API.
SuiteFlow: NetSuite has a workflow engine in its environment. It is designed for people who are non-programmer types. Through a visual editor, you can design forms, approval flows, record status, send emails, and direct the flow of information. The intriguing aspect of this mechanism is that it was possible because of the richness of the underlying API. In essence, a pretty editor was placed on top of the native programming mechanisms.
Outside NetSuite
SuiteTalk: In a recent article, I discussed SuiteTalk and its capacity to allow NetSuite to work with external systems. In general, this is called web services, and is capable of moving data in-and-out of the system, as well as produce certain kinds of business events.
Restlets: NetSuite’s API has grown to include REST, which is currently in BETA form. REST is a very popular tool for creating powerful, interactive websites – and it will soon be available to be used with NetSuite. In essence, NetSuite just extended its API to the rest of the world in a lightweight and easy-to-use format. With a senior member of my team, we are currently developing some applications with the new API and it looks promising. We intend to create an Android / iPhone business app and REST will be our choice technology.
NetSuite’s API continues to innovate and respond to the changing software landscape. This is important so you company will be able to develop competitive advantages. It’s one distinguishing capacity from other CRM, ERP, and eCommerce platforms. In the hands of the right people, it can be a competitive weapon.