Introduction to NetSuite's Extensibility API for SuiteCommerce

in , , June 20th, 2022

Note: This article is a bit technical, and will therefore be of most interest to developers. But, we have attempted to write this brief overview of Extensibility API (a fairly new and very significant improvement to SuiteCommerce) in a way that can be understood by anyone who has a strong desire to really know every aspect of their ecommerce site.


What is Extensibility API?

As Steve Goldberg and Joaquín Gatica define it in The Extension Framework and Extensibility API, Extensibility API is...

[A] stable, code-level API that offers access to key parts of a webstore via standardized objects and methods that remains stable across different sites and different versions. … In short, it is a logical layer between the internal parts of the code and your code. It's a JavaScript API that is available throughout your site — although some components of it are contextual to the current area (eg the checkout).

Let’s break this down a bit.

An API (Application Programing Interface) is a conversation or set of conversations that one software application can have with other software applications. You might think of it like an email client or chat tool that computers use to talk to other computers, rather than a tool that humans use to communicate with humans or that humans use to communicate with computers. Clearly, we need something like this because we want our SuiteCommerce website to talk to our NetSuite backend. 

Maintainence

.

The Structured Nature of Extensibility API

The conversation can’t be about just anything, of course, because these are websites and servers that follow constant logical processes set out by developers. A lot of times the conversation goes something like this:

SuiteCommerce Website: “Hi, server for Z company’s NetSuite Account! I am a website that is allowed to talk to you. See, here is my password: 1473827574a;dj3l;24jk89.”

NetSuite Server: “Hi, friend! Welcome in.”

SuiteCommerce Website: “Send me the value in custom field X on item record Y in this Z company’s NetSuite Account.”

NetSuite Server: “Sure thing. Here is that value: [value from field on item record].”

This is an example of a Get conversation, in which there is a request for information. There are also Put, Post, and Delete conversations, in which the server is told to update one of its own records, create a new record, or delete a pre-existing record, respectively. For instance, when a customer submits an order on the webstore, there is a conversation between the website and the NetSuite backend to tell NetSuite to create a new Sales Order record. So API is a structured means of conversation between different software applications.


Stability of Extensibility API

The second thing to note about Extensibility API is that this conversation is meant to be stable in form and structure across different sites and versions. It is dependable.

In the past, when developers were trying to set up new customizations, there was always uncertainty about whether the conversations they were trying to set up between the website and NetSuite’s backend servers would always work. Some members (functions/endpoints) in the conversation could always disappear in the next update or version, or maybe they would be present for one website but not another. Now, with Extensibility API, NetSuite’s own developing team has basically committed to leaving a defined set of members (called “methods”) to always talk in essentially the same way.

What happens in the source code of SuiteCommerce might change over different versions, but we know that if we talk to these constant API methods we will always get the same result. This is a bit like always knowing that your good friend will be there for you, and treat you the same way, regardless of whatever else is going on in the world.

Maintainence2

According to NetSuite, these methods will remain stable moving forward, which should give us some confidence that custom extensions we build now will continue to work with future software updates:

The behavior of the methods you see today probably won't change (or, at least, not drastically — we might add new parameters to existing methods, for example). Instead, the idea is grow their power sideways so that we will eventually encompass all conceivable areas of customization for all areas of the site.

That is, more methods will be gradually added horizontally, so that there will be more possible conversations, without removing any of the old conversations. To stick with the good friend analogy, you only gain more friends without losing the old ones. The increased stability that Extensibility API offers is a significant improvement to NetSuite and SuiteCommerce, and it provides security for your investments in development and customization.

That's all for now, but we hope this article was helpful and informative! If you have questions about NetSuite's Extensibility API in general, or how you can leverage it for your business in particular, feel free to contact our team at any time!


FREE SuiteCommerce Book

If you liked this article, you'll LOVE our book on SuiteCommerce!  How do we know?  Because the content in this article was reproduced from a section of our book!  So, what are you waiting for?

Order the free SuiteCommerce book today, and we'll even pay for shipping!

SuiteCommerce Book
 
 

Want to keep learning?

Our team of NetSuite professionals here at Anchor Group has written articles on a wide variety of NetSuite topics, from SuiteCommerce tips, to recommended NetSuite solutions, to available support services, and more! 

Your cart
    Checkout