website logo
⌘K
Explore our documentation
Contact APIANT support
What is APIANT?
Automation Editor
Key Concepts
Account Management
Managing Automations
App Connections
Building Automations
Alert Mappings
Troubleshooting
CRMConnect: Mindbody → HubSpot
ShopConnect
Manually pushing Mindbody orders to Shopify
Retrying orders from Shopify → Mindbody
Settings
Sync Products
Automation Alert Reports
Linked Accounts
ZoomConnect
New features in version 4
Settings
General
Email & SMS
BOTs
MINDBODY
Zoom
Troubleshooting
Assembly Editor
Key Concepts
Account Management
API Key Management
Managing Content
Building Assemblies
API Integrations
Other Assembly Types
Keyvalue Storage
Assembly development cycle
APIANT for Integrators
Help Forum
Automation Templates
Development Server
Module IDE
Shared App Connections
Tenants and Linked Accounts
APIANT Inline
Supported functionality
Embed Inline
Sandbox
Docs powered by archbee 

Key Concepts

18min

Assembly

An assembly is a diagram of connected software modules that perform processing. Assembly diagrams can be nested via subassemblies. Assemblies can execute in the browser and/or on the server.



Assembly Editor

The assembly editor is used to build assembly diagrams. Assemblies can be arbitrarily complex, in that they can invoke subassemblies which may be nested.

The assembly editor is also used to build new modules with its built-in Module IDE.



Data Stream

An XML document in a wire. Wires in assembly diagrams may represent one or more data streams.

Modules that can operate upon one or more data streams typically have a dropdown selection in order to specify a data stream to operate upon, when needed.



Deprecation

Modules and assemblies may be deprecated when new versions are built that are not backwards compatible.

When a module or assembly is deprecated, the original version is made private and renamed to include (DEPRECATED) in its name. The new and improved copy is then made public and given the original name.

Deprecation allows existing solutions to continue to work as-is.



JSON

JSON is a data format commonly returned by API's.

Modules that fetch JSON data automatically convert it into XML so the data can be processed by assembly modules.



Module

Modules are the building blocks connected together in assembly diagrams. Each module is a software component that provides specific functionality based on the module's design and implementation.

Document image


Modules are created by software developers using the Module IDE built into the assembly editor. Modules can execute in the browser and/or on the server.

The system currently has around 250 modules, plus extensible modules where JavaScript/Java/PHP code can be inlined into assembly diagrams. So currently there isn't much of a need for new modules to be created, especially for the purpose of integrating apps or building actions/triggers for automations.

Although the system contains around 250 modules, only a small number of them are commonly used for the purpose of integrating apps and building triggers/actions.

Although the JavaScript/Java/PHP extension modules are handy, they do not perform as well as native modules. So if automation processing performance needs to be improved due to the use of extension modules, replacing their logic with native modules can usually benefit with a noticeable performance improvement.





Subassembly

A subassembly is a re-usable assembly diagram that has defined input and output.

Subassemblies can be dragged from the catalog as nestable blocks and placed within other assembly diagrams.



Wire

Modules in assembly diagrams are connected with wires:

Document image


Depending on the output of a module, a wire may contain a single scalar text/number value, or may contain one or more XML documents called Data Streams.

Wires determine the processing order of modules in an assembly.

There is no circular wiring logic. Looping is performed via nesting of modules/subassemblies within Loop modules.



XPath

XPath is a "path-like" syntax to identify and navigate XML data nodes.

Modules in the assembly editor use XPath to identify data fields within XML to be processed.

Most modules provide dropdown selection lists populated with needed XPath expressions to select data fields, so entering XPath by hand when using the assembly editor is rare.

For an introduction to XPath, see here.



XML

XML is the data format that modules in the assembly editor use to pass data around.

For an introduction to XML, see here.

If an API returns data formatted as JSON, the module will convert the JSON into XML.

Updated 06 May 2023
Did this page help you?
Yes
No
PREVIOUS
Assembly Editor
NEXT
Account Management
Docs powered by archbee 
TABLE OF CONTENTS
Assembly
Assembly Editor
Data Stream
Deprecation
JSON
Module
Subassembly
Wire
XPath
XML