SyteLine SDK and API Reference Guide for Developers
The SyteLine SDK is the developer's gateway to the Mongoose platform. It provides .NET assemblies, API documentation, and utilities for building extensions, integrations, and custom applications against SyteLine. Despite its importance, the SDK is poorly documented by Infor, leaving developers to reverse-engineer APIs through decompilation and trial and error. This guide serves as a practical reference for the most critical SDK components.
Core SDK Assemblies and Namespaces
The SyteLine SDK is distributed as a set of .NET assemblies installed with the Mongoose application server. The essential assemblies are: Mongoose.IDO.dll containing the IDOExtensionClass base, IDOMethodContext, and event handler interfaces; Mongoose.Core.dll providing session management, configuration access, and utility classes; Mongoose.Forms.dll with form script base classes and UI component APIs; and Mongoose.WebServices.dll for programmatic web service client creation. Key namespaces include Mongoose.IDO (IDO development), Mongoose.IDO.Protocol (request/response serialization), Mongoose.Core.Configuration (application settings), and Mongoose.Core.Session (session and user context). Reference these assemblies in your Visual Studio project from the Mongoose Server bin directory. Use the same .NET framework version as the target SyteLine installation (typically .NET 4.7.2 or .NET 4.8 for SyteLine 10.x).
- Mongoose.IDO.dll: IDOExtensionClass, IDOMethodContext, event handlers, and IDO protocol types
- Mongoose.Core.dll: session management, configuration access, logging, and utility classes
- Mongoose.Forms.dll: form script base classes, UI component APIs, and form interaction helpers
- Target .NET Framework 4.7.2 or 4.8 matching the SyteLine 10.x Mongoose server runtime version
IDO Runtime API: LoadCollection, UpdateCollection, InvokeMethod
The IDO runtime API is the heart of SyteLine development. Within IDO extensions and event handlers, access it via this.Context.Commands. LoadCollection(idoName, propertyList, filter, orderBy, maxRows) retrieves data as an IDOCollection object with rows and properties. UpdateCollection(idoName, updateCollection) sends inserts, updates, and deletes as a batch. InvokeMethod(idoName, methodName, parameters) calls registered IDO methods. Each operation participates in the ambient TransactionScope. The propertyList parameter is critical for performance—always specify only the properties you need rather than using wildcard. The filter parameter accepts SyteLine filter syntax: "Status = 'R' AND OrderDate >= '2024-01-01'" with property names, not SQL column names. For complex queries, use the IDORequest class directly to build requests with multiple filter conditions, post-query filtering, and linked queries that join across IDOs in a single round-trip.
- LoadCollection: retrieve data with idoName, propertyList, filter, orderBy, and maxRows parameters
- UpdateCollection: batch insert/update/delete operations within the ambient transaction scope
- InvokeMethod: call registered IDO methods with named parameter collections
- Use IDORequest class for advanced scenarios: linked queries, post-filters, and multi-IDO joins
Web Service Client API and External Integration
For applications outside the Mongoose runtime that need to interact with SyteLine, the SDK provides the IDORequestClient class in the Mongoose.WebServices namespace. Instantiate it with the Mongoose web service URL, call CreateSession() with credentials to obtain a session token, then use the same LoadCollection, UpdateCollection, and InvokeMethod patterns as the server-side API. The client handles serialization, HTTP communication, and session token management. For non-.NET applications, use the raw REST API at /IDORequestService/MGRestService.svc/ with standard HTTP libraries. The REST API accepts JSON payloads structured as: {"IDO": "SL.SLCos", "Method": "LoadCollection", "Properties": "CoNum,CustNum,OrderDate", "Filter": "Status='O'", "MaxRows": 100}. For high-volume scenarios, the REST API supports batch requests that combine multiple operations in a single HTTP call, reducing round-trip overhead. Always implement connection pooling and reuse session tokens across requests rather than creating new sessions per call.
- Use IDORequestClient class from Mongoose.WebServices for .NET external application integration
- REST API JSON format: {IDO, Method, Properties, Filter, MaxRows} for LoadCollection requests
- Implement batch requests for high-volume scenarios to reduce HTTP round-trip overhead
- Reuse session tokens across requests and implement connection pooling for production integrations
Need SyteLine SDK expertise? Our developers have mastered the Mongoose API through years of enterprise development—connect with our team.
Related Resources
SyteLine Mongoose Framework Architecture Deep Dive
Deep dive into SyteLine Mongoose framework architecture. IDO runtime, request pipeline, session management, and extensibility patterns for developers.
Infor SyteLineSyteLine REST API Integration Guide
Integrate SyteLine via REST APIs. IDO web services, authentication, payload design, and integration patterns for CloudSuite Industrial.
Infor SyteLineSyteLine Web Service Creation and Integration Guide
Create and consume web services in SyteLine. IDO-based REST APIs, SOAP endpoints, authentication, and integration patterns for CloudSuite Industrial.