API integration details
StrategicERP – API Integration Documentation
Incoming and Outgoing API Processes
1. Overview
StrategicERP supports two-way API integration to enable structured data exchange between the ERP and external systems. The integration framework is managed through the API Integration Master under the Admin module, where users can configure mappings, authentication, data transformation logic, and validation rules.
The ERP supports two categories of API communication:
-
Incoming API – External System → StrategicERP
-
Outgoing API – StrategicERP → External System
Both types use JSON-based communication and allow full customization of request/response handling, mapping structures, and logs.
Credential Responsibility Clarification (as discussed with Ashvin Sir):
-
If StrategicERP APIs are used, StrategicERP will share the required API username/password or token.
-
If any third-party / external system API is used, the respective external system owner will share the API credentials.
2. Authentication Methods
StrategicERP supports secure authorization methods that external applications must use while calling APIs. The authentication mechanism and credential ownership depend on whose API is being integrated.
2.1 API Key
x-api-key: YOUR_API_KEY
2.2 Bearer Token
Authorization: Bearer <token>
Authentication parameters are configured under:
Admin → API Integration → Header Configuration
Credential Ownership Rule (Applied):
-
StrategicERP API → Credentials shared by StrategicERP
-
External / Third-Party API → Credentials shared by the external system owner
3. Incoming API (External System → ERP)
3.1 Purpose
Incoming APIs allow external systems to push structured data into StrategicERP. Typical use cases include:
-
Vendor master creation
-
Lead and enquiry entry
-
Invoice updates
-
Attendance and biometric data imports
-
Material receipt posting
In this scenario, the external system initiates the API call and must use the credentials provided by StrategicERP for accessing StrategicERP APIs.
3.2 Endpoint
POST https://<client>.strategicerpcloud.com/api/v1/integration/incoming
3.3 Sample Request Body
{
"vendorName": "ABC Suppliers",
"gstNumber": "27ABCDE1234F1Z5",
"contactPerson": "Ramesh Sharma",
"mobile": "9876543210",
"email": "abc@xyz.com",
"city": "Mumbai"
}
3.4 Field Mapping (API Parameters → ERP Fields)
Defined in:
Admin → API Integration → Incoming Mapping List
|
API Parameter |
ERP Field |
Validation |
Required |
|
vendorName |
Vendor_Name |
Cannot be empty |
Yes |
|
gstNumber |
GST_No |
Regex + uniqueness |
Yes |
|
mobile |
Phone_No |
Format check |
No |
|
|
|
Email format |
No |
|
city |
City |
Must exist in master |
No |
3.5 Validation Rules
ERP validates:
-
Mandatory fields
-
Data types
-
Duplicate records
-
Master data consistency
-
Workflow rules
If validation fails, the record is rejected.
3.6 Return Status Logic
Configured in:
API Integration → Return Status Rules
|
Status |
Meaning |
|
SUCCESS |
Record inserted/updated |
|
FAILED |
Validation failure |
|
DUPLICATE |
Duplicate detected |
3.7 ERP Response
Success
{
"status": "success",
"message": "Record saved successfully",
"recordId": "VEND-1023"
}
Error
{
"status": "error",
"errorCode": "INVALID_GST",
"message": "GST number is invalid"
}
3.8 Testing Incoming API
Supports:
-
Sample JSON testing
-
Mapping validation
-
Data parsing preview
-
Dry-run execution
3.9 Error Handling
|
Code |
Meaning |
|
400 |
Invalid/missing parameters |
|
401 |
Authentication failure |
|
404 |
Mapping or endpoint not found |
|
409 |
Duplicate record |
|
500 |
Internal server error |
Logs available under:
API Logs → Incoming Logs
4. Outgoing API (ERP → External System)
4.1 Purpose
Outgoing APIs allow StrategicERP to push ERP-generated data to external systems such as:
-
Accounting software
-
CRM systems
-
Vendor/payment portals
-
Mobile applications
-
Government portals
In this scenario, StrategicERP initiates the API call.
Authentication credentials for the external API must be provided by the external system owner, as discussed with Ashvin Sir.
4.2 Endpoint
POST https://external-system.com/api/v1/receive-data
Configured in:
Admin → API Integration → Outgoing API Settings
4.3 Sample Request (Sent by ERP)
{
"invoiceNumber": "INV/2025/0045",
"invoiceDate": "2025-12-12",
"amount": 85000,
"customerName": "ABC Infrastructure",
"projectCode": "PRJ-102",
"gstNumber": "27ABCDE1234F1Z5"
}
4.4 Field Mapping (ERP Fields → External API Parameters)
Defined in:
Admin → API Integration → Outgoing Mapping List
|
ERP Field |
Outgoing Parameter |
Type |
Required |
|
Invoice_No |
invoiceNumber |
String |
Yes |
|
Invoice_Date |
invoiceDate |
Date |
Yes |
|
Total_Amount |
amount |
Number |
Yes |
|
Client_Name |
customerName |
String |
No |
|
Project_Code |
projectCode |
String |
No |
|
GST_No |
gstNumber |
String |
No |
4.5 Trigger Mechanisms
-
Event-based (invoice approval, vendor creation, GRN posting)
-
Manual push via “Send to API”
-
Scheduler-based automated jobs
4.6 Response Handling from External System
ERP logs:
-
Status
-
Reference ID
-
Timestamp
-
Retry eligibility
Failed records may move to Failed Queue if enabled.
4.7 Error Handling
|
Code |
Meaning |
|
400 |
Invalid parameter |
|
401 |
Authentication failure |
|
404 |
Endpoint not found |
|
409 |
Duplicate data |
|
500 |
External system error |
Logs available under:
API Logs → Outgoing Logs
5. Summary of Differences
|
Feature |
Incoming API |
Outgoing API |
|
Data Direction |
External → ERP |
ERP → External |
|
Who Initiates |
External system |
StrategicERP |
|
Credentials Provided By |
StrategicERP |
External system |
|
Mapping Used |
Incoming Mapping |
Outgoing Mapping |
|
Validation |
ERP |
External system |
|
Trigger |
Always external |
Event / Manual / Scheduler |
In a Nutshell – Credential Responsibility (Final Clarity)
-
StrategicERP API integration → Credentials shared by StrategicERP
-
Third-party / external API integration → Credentials shared by the external system owner
-
Authentication configured under Header Configuration
-
Logs maintained separately for Incoming and Outgoing APIs
Screenshots
Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4





