GrowthPath Application Server
The GrowthPath Application Server is a dedicated server with software developed to allow GrowthPath’s advanced integrations. The documentation and code base may refer to “Dear” for historical reasons.
The Stack
Section titled “The Stack”The Application Server is a stack of software which makes it fast and easy to solve complicated integration problems. The elements of the stack are:
- A robust, battle-tested cache of Cin7 Core’s data, including the ability to bring together all your deployments of Cin7 Core, even in multiple currencies. See Cache Architecture.
- A library of Cin7 Core automation code for ordering, shipping and production steps — also battle-tested. With this code, we can develop highly advanced automations and integrations.
- A library of connectors to a growing range of cloud software: Zoho Analytics, Zoho CRM, Capsule, Shopify, Starshipit, Xero, and others. These include advanced data syncs.
- A growing library of EDI X12 messages — currently ASN, PO, PO ACK, Inventory, Invoice. See EDI Support.
- A library for advanced, custom 3PL integrations which can split orders among different 3PLs for optimal fulfilment, and handle all kinds of specific needs. See 3PL Integration.
Comparison with Low-Code Tools (N8N, Zapier)
Section titled “Comparison with Low-Code Tools (N8N, Zapier)”Code built on the GrowthPath Application Server can use the robust cache, which is not only much faster, but which allows complicated queries. For example, we can find all orders for the past 12 months which involve a particular SKU sold from a particular location to a certain customer. The Cin7 Core API cannot do such queries, so a naive user of the endpoints must load every order and then iterate over them. The GrowthPath Application Server can send these advanced JSON queries directly to the backing database and retrieve the answer quickly.
The code library itself has much business logic embedded in it, based on years of accumulated work. For instance, we have libraries that will quickly allow a change of order header location by undoing the order, changing the header, and then reauthorising it — including reauthorising any invoices and payments, while at the same time having validation checks and distributed locking to make sure nothing else is working on the order. We also maintain records of concepts such as soft and hard allocations to make sure fulfilments will succeed. The API does not expose this directly; it is another example of the added-value logic of the Application Server.
Also, the code is under version control and tests, and is professionally engineered by experts who deeply understand the system.
Low-code tools are fast and empowering. However, they run into problems as requirements become more complex, and as they are used by users who don’t have a solid foundation in enterprise IT skills such as security, source control, testing and performance.
Examining a Cached Sale Object
Section titled “Examining a Cached Sale Object”The cache stores Cin7 Core JSON records and makes them accessible through Django’s admin interface for debugging and inspection.
What the Application Server Means for Clients
Section titled “What the Application Server Means for Clients”Most of GrowthPath’s integrations involve Cin7 Core. As a cloud ERP, Cin7 Core is the transactional heart of your business system. Our integrations move data from Cin7 Core to and from other platforms, and they perform automations and updates within Cin7 Core.
Traditionally, an integration calls the Cin7 Core API each time it needs information. This does not scale well, since the API has limits. Also, several integrations may be retrieving the same information repeatedly, which is wasteful and slow. Instead, the GrowthPath Application Server has a cache with an up-to-date copy of Cin7 Core’s data. Our integrations use the cache, which is much faster. Locally cached data can also be processed with much more sophisticated queries.
Many simple integrations don’t use caching because it is hard to get right. Because GrowthPath uses the same cache for many different integrations and automations, we have been able to invest and develop our cache to the point where it is a very significant technical advantage. GrowthPath’s cache is widely deployed and very robust after years of production use. It has developed many advanced features, including the ability to share its workload over multiple Cin7 Core API connections for very high-volume sites that are not yet ready to move to a dedicated server option.
For deployment, security, and infrastructure details, see Deployment & Security.