ntopng is open source, that means you can read its code and modify it according to the GPL license. The current ntopng architecture is based on three layers where the top one is written in Lua and it is used to render the web interface as well to execute periodic activities. In essence the C++/Lua API is a clean way to interact and extend ntopng without having to code in C++.
So far we have used this API inside the ntop team without documenting it. This has been a mistake as it has made life difficult for developers as hey had to do and explore the developed code to figure out how the API worked.
We have now fixed all this, and written documentation developers can use and that is available at this URL. You can look at it and learn more about ntopng. Shall you have questions, please send us comments on the ntop mailing list or send us pull requests on github.