This document outlines the complete process for working with Schemas (Text and Excel) and Mappings in Adeptia using REST APIs.
Prerequisite
To access the APIs listed below, authentication is mandatory:
JWT Authentication
Send the following header:ACCESS_TOKEN: <valid JWT token>Basic Authentication
Send the following header:Authorization: Basic <Base64-encoded username:password>
Text Schema –
1. Create Schema
Supported Data Types & Formats
| Type | Format (Examples) | SubFormat (Time) | Notes |
|---|---|---|---|
| string | – | – | Free text (Name, City, Address) |
| integer | – | – | Numeric fields (Age, IDs) |
| date | MMddyyyy, MMddyy, yyyyMMdd, yyyy-MM-dd, yyyy/MM/dd, yyyy-dd-MM, yyyy/dd/MM, MM-dd-yyyy, MM/dd/yyyy, MM-dd-yy, dd-MM-yyyy, dd/MM/yyyy, dd-MM-yy, dd/MM/yy, month-dd-yyyy, month/dd/yyyy, m/dd/yy, m/d/yy, m/dd/yyyy, dd-mmm-yyyy | hh:mm:ss, hh:mm:ss am/pm, hh:mm | Use format for date and subFormat for time (if required) |
1.1 Create Schema Sequentially (Manual Create Flow)
Steps
Generate XSD using manual field definitions
Save the schema in the repository
Generate XSD (Manual)
Method:
POSTURL:
http://localhost/SchemaUI/rest/advschema/xsd/create
Request Payload Example
{
"json": {
"type": "text",
"version": "1.0",
"sequentially": true
},
"schema": {
"defineMode": "data",
"entityName": "Manual_Create_Name",
"schemaType": "text",
"project": "Default",
"entityId": "",
"description": "Manual_Des",
"fieldSeparator": "",
"encodingUsed": "UTF-8"
},
"appInfo": {
"XSDVersion": "1",
"sheets": "CSV",
"startRowNumber": "1",
"bottomRowSkipCount": "0",
"fieldSeparator": ",",
"recordSeparator": "\\n",
"allowLessFields": false,
"allowIgnoreCase": false,
"allowMoreFields": false,
"allowDiscontinousOrder": false,
"removeLastNewLineSeperator": false,
"removeInvalidChar": false,
"enclosedChar": ""
},
"sheet": [
{
"section": [
{
"name": "Table",
"sectiontype": "table",
"ignoreBlankRows": "0",
"uniqueFieldNames": "",
"fields": [
{
"originalName": "Name",
"name": "Name",
"type": "string",
"format": "AAAAAAA",
"subFormat": "",
"dataMode": "plainText",
"newObject": "true",
"sheetName": "CSV",
"actualTableName": "Table",
"tableName": "Table",
"sectionType": "Table"
},
{
"originalName": "Age",
"name": "Age",
"type": "integer",
"format": "AAAAAAA",
"subFormat": "",
"dataMode": "plainText",
"newObject": "true",
"sheetName": "CSV",
"actualTableName": "Table",
"tableName": "Table",
"sectionType": "Table"
},
{
"originalName": "Dob",
"name": "Dob",
"type": "date",
"format": "yyyy-MM-dd",
"subFormat": "hh:mm:ss",
"dataMode": "plainText",
"newObject": "true",
"sheetName": "CSV",
"actualTableName": "Table",
"tableName": "Table",
"sectionType": "Table"
}
]
}
]
}
],
"dataFilePresent": false,
"filePath": ""
}Response Example
{
"filePath": "D:\\MS_Setup_New_Dev\\Shared\\web\\AdvanceSchemaRepository\\temp\\41af4f50-9b02-44e9-bc46-a56dbb10ecc3\\Manual_Create_Name.json",
"xsd": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n\t<xs:element name=\"Root\">\n\t\t<xs:annotation>\n\t\t\t<xs:appinfo>\n\t\t\t\t<XSDVersion>1</XSDVersion>\n\t\t\t\t<fieldSeparator>,</fieldSeparator>\n\t\t\t\t<recordSeparator>\\n</recordSeparator>\n\t\t\t\t<allowDiscontinousOrder>false</allowDiscontinousOrder>\n\t\t\t\t<allowIgnoreCase>false</allowIgnoreCase>\n\t\t\t\t<allowMoreFields>false</allowMoreFields>\n\t\t\t\t<allowLessFields>false</allowLessFields>\n\t\t\t\t<removeLastNewLineSeperator>false</removeLastNewLineSeperator>\n\t\t\t\t<removeInvalidChar>false</removeInvalidChar>\n\t\t\t\t<enclosedChar></enclosedChar>\n\t\t\t\t<startRowNumber>1</startRowNumber>\n\t\t\t\t<skippedBottomRows>0</skippedBottomRows>\n\t\t\t\t<arrayLayout>false</arrayLayout>\n\t\t\t</xs:appinfo>\n\t\t</xs:annotation>\n\t\t<xs:complexType>\n\t\t\t<xs:sequence>\n\t\t\t\t<xs:element name=\"Record\" minOccurs=\"1\" maxOccurs=\"unbounded\">\n<xs:complexType><xs:sequence>\n<xs:element name=\"Name\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:string\">\n<xs:annotation><xs:appinfo><format>AAAAAAA</format><originalName><![CDATA[Name]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n<xs:element name=\"Age\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:integer\">\n<xs:annotation><xs:appinfo><format>AAAAAAA</format><originalName><![CDATA[Age]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n<xs:element name=\"Dob\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:date\">\n<xs:annotation><xs:appinfo><format>yyyy-MM-dd hh:mm:ss</format><originalName><![CDATA[Dob]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n</xs:sequence>\n<xs:attribute name=\"recordNumber\" type=\"xs:string\" use=\"required\"/>\n</xs:complexType></xs:element>\n\t\t\t</xs:sequence>\n\t\t</xs:complexType>\n\t</xs:element>\n</xs:schema>"
}
Save Schema API
Method:
POSTURL:
http://localhost/SchemaUI/rest/advschema/create
Request Payload Example
{
"schemaData": {
"TextSchema": {
"advancedSchema": true,
"headerPresent": true,
"nameValueMap": null,
"encodingUsed": "UTF-8",
"password": "",
"json": null,
"xsd": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n\t<xs:element name=\"Root\">\n\t\t<xs:annotation>\n\t\t\t<xs:appinfo>\n\t\t\t\t<XSDVersion>1</XSDVersion>\n\t\t\t\t<fieldSeparator>,</fieldSeparator>\n\t\t\t\t<recordSeparator>\\n</recordSeparator>\n\t\t\t\t<allowDiscontinousOrder>false</allowDiscontinousOrder>\n\t\t\t\t<allowIgnoreCase>false</allowIgnoreCase>\n\t\t\t\t<allowMoreFields>false</allowMoreFields>\n\t\t\t\t<allowLessFields>false</allowLessFields>\n\t\t\t\t<removeLastNewLineSeperator>false</removeLastNewLineSeperator>\n\t\t\t\t<removeInvalidChar>false</removeInvalidChar>\n\t\t\t\t<enclosedChar></enclosedChar>\n\t\t\t\t<startRowNumber>1</startRowNumber>\n\t\t\t\t<skippedBottomRows>0</skippedBottomRows>\n\t\t\t\t<arrayLayout>false</arrayLayout>\n\t\t\t</xs:appinfo>\n\t\t</xs:annotation>\n\t\t<xs:complexType>\n\t\t\t<xs:sequence>\n\t\t\t\t<xs:element name=\"Record\" minOccurs=\"1\" maxOccurs=\"unbounded\">\n<xs:complexType><xs:sequence>\n<xs:element name=\"Name\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:string\">\n<xs:annotation><xs:appinfo><format>AAAAAAA</format><originalName><![CDATA[Name]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n<xs:element name=\"Age\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:integer\">\n<xs:annotation><xs:appinfo><format>AAAAAAA</format><originalName><![CDATA[Age]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n<xs:element name=\"Dob\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:date\">\n<xs:annotation><xs:appinfo><format>yyyy-MM-dd hh:mm:ss</format><originalName><![CDATA[Dob]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n</xs:sequence>\n<xs:attribute name=\"recordNumber\" type=\"xs:string\" use=\"required\"/>\n</xs:complexType></xs:element>\n\t\t\t</xs:sequence>\n\t\t</xs:complexType>\n\t</xs:element>\n</xs:schema>",
"advanceXsd": null,
"allowLessFields": false,
"allowIgnoreCase": false,
"allowMoreFields": false,
"skippedBottomRows": "0",
"startRowNumber": "1",
"allowDiscontinousOrder": false,
"passwordProtected": false,
"repositoryLocation": null,
"xsdFilePath": "",
"recordService": null,
"previousVersion": "",
"permissionMask": "770",
"description": "Manual_Des",
"entityName": "Manual_Create_Name2",
"entityFolderPath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\34228d13-4813-4e01-977e-bedf0fc9def4\\Manual_Create_Name2.json",
"project": "Default",
"encloseFieldsInQuotes": false,
"quotesHandlingOn": false,
"removeLastNewLineSeperator": false,
"removeInvalidChar": false,
"reusable": true
}
},
"schemaType": "text",
"filePath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\34228d13-4813-4e01-977e-bedf0fc9def4\\Manual_Create_Name2.json",
"fileChange": false
}Response Example
{
"id": "192168001111175765207883100003",
"entityName": "Manual_Create_Name2",
"serviceName": "TextSchema",
"filePath": [
"web/AdvanceSchemaRepository\\192168001111175765207883100003\\Manual_Create_Name2.json"
]
}
1.2 Create Schema Using File Upload (CSV Flow)
This flow explains how to create a Text Schema in Adeptia by uploading a CSV file, generating an XSD, and saving the schema to the repository using REST APIs.
Steps
Upload the CSV file
Generate XSD from the uploaded file
Save the schema in the repository
Step 1: Upload CSV File
Upload File
Method:
POSTURL:
http://localhost/SchemaUI/rest/advschema/uploadfile
Request Payload
(Send as multipart/form-data)
schemaType:text
file:(uplaod the file)
fileType:text/csv
fieldSeparator:,
recordSeparator:\n
userInfo:Response Example
{
"data": "{\"totalColumns\":5,\"totalPages\":1,\"start\":0,\"limit\":0,\"page\":1,\"rows\":[{\"columns\":[{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"PersonId\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"FirstName\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"LastName\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"Address\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"Dob\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false}],\"rowIndex\":0,\"rowHeight\":null,\"recordIdentifierValue\":null,\"line\":\"PersonId,FirstName,LastName,Address,Dob\",\"recordColumns\":null,\"controlTotal\":false},{\"columns\":[{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"1\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"John\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"Doe\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"123 Elm Street\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"143532-07-23 \",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false}],\"rowIndex\":0,\"rowHeight\":null,\"recordIdentifierValue\":null,\"line\":\"1,John,Doe,123 Elm Street,143532-07-23 \",\"recordColumns\":null,\"controlTotal\":false},{\"columns\":[{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"2\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"Jane\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"Smith\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"456 Oak Avenue\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"132334-04-12\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false}],\"rowIndex\":0,\"rowHeight\":null,\"recordIdentifierValue\":null,\"line\":\"2,Jane,Smith,456 Oak Avenue,132334-04-12\",\"recordColumns\":null,\"controlTotal\":false},{\"columns\":[{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"3\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"Michael\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"Johnson\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"789 Pine Street\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"1437459-11-05 \",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false}],\"rowIndex\":0,\"rowHeight\":null,\"recordIdentifierValue\":null,\"line\":\"3,Michael,Johnson,789 Pine Street,1437459-11-05 \",\"recordColumns\":null,\"controlTotal\":false},{\"columns\":[{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"4\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"Alice\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"Williams\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"321 Birch Road\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"1436590-02-18\",\"style\":null,\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false}],\"rowIndex\":0,\"rowHeight\":null,\"recordIdentifierValue\":null,\"line\":\"4,Alice,Williams,321 Birch Road,1436590-02-18\",\"recordColumns\":null,\"controlTotal\":false}],\"timeOfExecution\":0,\"columnWidths\":\"15\",\"allSheetsName\":[{\"sheetNumber\":1,\"sheetName\":\"CSV\"}],\"warningMsg\":null}",
"filePath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\d10334e2-7974-4ec4-bd6c-5e0f60972437\\Test.csv"
}Step 2: Generate XSD
Method:
POSTURL:
http://localhost/SchemaUI/rest/advschema/xsd/create
Request Payload Example
{
"json": {
"category": "Schema",
"type": "text",
"version": "1.0"
},
"schema": {
"defineMode": "data",
"entityName": "File_Upload_Schema",
"schemaType": "text",
"project": "Default",
"entityId": "",
"description": "File_Upload",
"permissionMask": "777",
"userOwner": "",
"fieldSeparator": "",
"encodingUsed": "UTF-8"
},
"appInfo": {
"XSDVersion": "1",
"sheets": "CSV",
"startRowNumber": "1",
"bottomRowSkipCount": "0",
"fieldSeparator": ",",
"recordSeparator": "\\n",
"allowLessFields": false,
"allowIgnoreCase": false,
"allowMoreFields": false,
"allowDiscontinousOrder": false,
"removeLastNewLineSeperator": false,
"removeInvalidChar": false,
"enclosedChar": ""
},
"sheet": [
{
"section": [
{
"name": "Table",
"sectiontype": "table",
"ignoreBlankRows": "0",
"uniqueFieldNames": "",
"fields": [
{
"originalName": "PersonId",
"name": "PersonId",
"type": "integer",
"format": "AAAAAAA",
"subFormat": "",
"dataMode": "plainText",
"parent": "",
"uniqueKey": "",
"ignoreField": "",
"id": 743,
"newObject": "true",
"sheetName": "CSV",
"actualTableName": "Table",
"tableName": "Table",
"sectionType": "Table"
},
{
"originalName": "FirstName",
"name": "FirstName",
"type": "string",
"format": "AAAAAAA",
"subFormat": "",
"dataMode": "plainText",
"parent": "",
"uniqueKey": "",
"ignoreField": "",
"id": 744,
"newObject": "true",
"sheetName": "CSV",
"actualTableName": "Table",
"tableName": "Table",
"sectionType": "Table"
},
{
"originalName": "LastName",
"name": "LastName",
"type": "string",
"format": "AAAAAAA",
"subFormat": "",
"dataMode": "plainText",
"parent": "",
"uniqueKey": "",
"ignoreField": "",
"id": 745,
"newObject": "true",
"sheetName": "CSV",
"actualTableName": "Table",
"tableName": "Table",
"sectionType": "Table"
},
{
"originalName": "Address",
"name": "Address",
"type": "string",
"format": "AAAAAAA",
"subFormat": "",
"dataMode": "plainText",
"parent": "",
"uniqueKey": "",
"ignoreField": "",
"id": 746,
"newObject": "true",
"sheetName": "CSV",
"actualTableName": "Table",
"tableName": "Table",
"sectionType": "Table"
},
{
"originalName": "Dob",
"name": "Dob",
"type": "date",
"format": "yyyy-MM-dd",
"subFormat": "hh:mm:ss",
"dataMode": "plainText",
"parent": "",
"uniqueKey": "",
"ignoreField": "",
"id": 747,
"newObject": "true",
"sheetName": "CSV",
"actualTableName": "Table",
"tableName": "Table",
"sectionType": "Table"
}
]
}
]
}
],
"dataFilePresent": true,
"filePath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\bcbda669-c305-44bd-84ac-d1ff16cd9886\\Test.csv"
}Response Example
{
"filePath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\bcbda669-c305-44bd-84ac-d1ff16cd9886\\Test.json",
"xsd": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n\t<xs:element name=\"Root\">\n\t\t<xs:annotation>\n\t\t\t<xs:appinfo>\n\t\t\t\t<XSDVersion>1</XSDVersion>\n\t\t\t\t<fieldSeparator>,</fieldSeparator>\n\t\t\t\t<recordSeparator>\\n</recordSeparator>\n\t\t\t\t<allowDiscontinousOrder>false</allowDiscontinousOrder>\n\t\t\t\t<allowIgnoreCase>false</allowIgnoreCase>\n\t\t\t\t<allowLessFields>false</allowLessFields>\n\t\t\t\t<removeLastNewLineSeperator>false</removeLastNewLineSeperator>\n\t\t\t\t<removeInvalidChar>false</removeInvalidChar>\n\t\t\t\t<enclosedChar></enclosedChar>\n\t\t\t\t<startRowNumber>1</startRowNumber>\n\t\t\t\t<skippedBottomRows>0</skippedBottomRows>\n\t\t\t\t<allowMoreFields>false</allowMoreFields>\n\t\t\t</xs:appinfo>\n\t\t</xs:annotation>\n\t\t<xs:complexType>\n\t\t\t<xs:sequence>\n\t\t\t\t<xs:element name=\"Record\" minOccurs=\"1\" maxOccurs=\"unbounded\">\n<xs:complexType><xs:sequence>\n<xs:element name=\"PersonId\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:integer\">\n<xs:annotation><xs:appinfo><format>AAAAAAA</format><originalName><![CDATA[PersonId]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n<xs:element name=\"FirstName\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:string\">\n<xs:annotation><xs:appinfo><format>AAAAAAA</format><originalName><![CDATA[FirstName]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n<xs:element name=\"LastName\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:string\">\n<xs:annotation><xs:appinfo><format>AAAAAAA</format><originalName><![CDATA[LastName]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n<xs:element name=\"Address\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:string\">\n<xs:annotation><xs:appinfo><format>AAAAAAA</format><originalName><![CDATA[Address]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n<xs:element name=\"Dob\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:date\">\n<xs:annotation><xs:appinfo><format>yyyy-MM-dd hh:mm:ss</format><originalName><![CDATA[Dob]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n</xs:sequence>\n<xs:attribute name=\"recordNumber\" type=\"xs:string\" use=\"required\"/>\n</xs:complexType></xs:element>\n\t\t\t</xs:sequence>\n\t\t</xs:complexType>\n\t</xs:element>\n</xs:schema>"
}Step 3: Save Schema
Method:
POSTURL:
http://localhost/SchemaUI/rest/advschema/create
Request Payload Example
{
"schemaData": {
"TextSchema": {
"advancedSchema": true,
"headerPresent": true,
"nameValueMap": null,
"encodingUsed": "UTF-8",
"password": "",
"json": null,
"xsd": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n\t<xs:element name=\"Root\">\n\t\t<xs:annotation>\n\t\t\t<xs:appinfo>\n\t\t\t\t<XSDVersion>1</XSDVersion>\n\t\t\t\t<fieldSeparator>,</fieldSeparator>\n\t\t\t\t<recordSeparator>\\n</recordSeparator>\n\t\t\t\t<allowDiscontinousOrder>false</allowDiscontinousOrder>\n\t\t\t\t<allowIgnoreCase>false</allowIgnoreCase>\n\t\t\t\t<allowLessFields>false</allowLessFields>\n\t\t\t\t<removeLastNewLineSeperator>false</removeLastNewLineSeperator>\n\t\t\t\t<removeInvalidChar>false</removeInvalidChar>\n\t\t\t\t<enclosedChar></enclosedChar>\n\t\t\t\t<startRowNumber>1</startRowNumber>\n\t\t\t\t<skippedBottomRows>0</skippedBottomRows>\n\t\t\t\t<allowMoreFields>false</allowMoreFields>\n\t\t\t</xs:appinfo>\n\t\t</xs:annotation>\n\t\t<xs:complexType>\n\t\t\t<xs:sequence>\n\t\t\t\t<xs:element name=\"Record\" minOccurs=\"1\" maxOccurs=\"unbounded\">\n<xs:complexType><xs:sequence>\n<xs:element name=\"PersonId\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:integer\">\n<xs:annotation><xs:appinfo><format>AAAAAAA</format><originalName><![CDATA[PersonId]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n<xs:element name=\"FirstName\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:string\">\n<xs:annotation><xs:appinfo><format>AAAAAAA</format><originalName><![CDATA[FirstName]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n<xs:element name=\"LastName\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:string\">\n<xs:annotation><xs:appinfo><format>AAAAAAA</format><originalName><![CDATA[LastName]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n<xs:element name=\"Address\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:string\">\n<xs:annotation><xs:appinfo><format>AAAAAAA</format><originalName><![CDATA[Address]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n<xs:element name=\"Dob\" minOccurs=\"0\" maxOccurs=\"1\" type=\"xs:date\">\n<xs:annotation><xs:appinfo><format>yyyy-MM-dd hh:mm:ss</format><originalName><![CDATA[Dob]]></originalName><parent> </parent>\n</xs:appinfo></xs:annotation></xs:element>\n</xs:sequence>\n<xs:attribute name=\"recordNumber\" type=\"xs:string\" use=\"required\"/>\n</xs:complexType></xs:element>\n\t\t\t</xs:sequence>\n\t\t</xs:complexType>\n\t</xs:element>\n</xs:schema>",
"advanceXsd": null,
"allowLessFields": false,
"allowIgnoreCase": false,
"allowMoreFields": false,
"skippedBottomRows": "0",
"startRowNumber": "1",
"allowDiscontinousOrder": false,
"passwordProtected": false,
"repositoryLocation": null,
"xsdFilePath": "",
"recordService": null,
"previousVersion": "",
"permissionMask": "770",
"description": "File_Upload",
"entityName": "File_Upload_Schema",
"entityFolderPath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\bcbda669-c305-44bd-84ac-d1ff16cd9886\\Test.csv",
"project": "Default",
"encloseFieldsInQuotes": false,
"quotesHandlingOn": false,
"removeLastNewLineSeperator": false,
"removeInvalidChar": false,
"reusable": true
}
},
"schemaType": "text",
"filePath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\bcbda669-c305-44bd-84ac-d1ff16cd9886\\Test.csv",
"fileChange": false
}Response Example
{
"id": "192168001111175765458727000005",
"entityName": "File_Upload_Schema",
"serviceName": "TextSchema",
"filePath": [
"web/AdvanceSchemaRepository\\192168001111175765458727000005\\Test.csv"
]
}
Excel Schema –
1. Create Schema
Supported Data Types & Formats
| Type | Format (Examples) | SubFormat (Time) | Notes |
|---|---|---|---|
| string | – | – | Free text (Name, City, Address) |
| integer | – | – | Numeric fields (Age, IDs) |
| date | MMddyyyy, MMddyy, yyyyMMdd, yyyy-MM-dd, yyyy/MM/dd, yyyy-dd-MM, yyyy/dd/MM, MM-dd-yyyy, MM/dd/yyyy, MM-dd-yy, dd-MM-yyyy, dd/MM/yyyy, dd-MM-yy, dd/MM/yy, month-dd-yyyy, month/dd/yyyy, m/dd/yy, m/d/yy, m/dd/yyyy, dd-mmm-yyyy | hh:mm:ss, hh:mm:ss am/pm, hh:mm | Use format for date and subFormat for time |
| double | Dollar ($), USD, CAD, CNY, EUR, GBP, JPY | – | Numeric values with currency or decimal precision |
1.1 Create Schema Sequentially (Manual Create Flow)
Steps
Generate XSD using manual field definitions
Save the schema in the repository
Generate XSD (Manual)
Method:
POSTURL:
http://localhost/SchemaUI/rest/advschema/xsd/create
Request Payload Example
{
"json": {
"category": "Schema",
"type": "excel",
"version": "1.0",
"sequentially": true
},
"schema": {
"defineMode": "data",
"entityName": "Manual_Create_Name",
"schemaType": "excel",
"project": "Default",
"description": "Manual_Desc",
"permissionMask": "777",
"encodingUsed": "UTF-8",
"startRowNumber": "1",
"startColumnNumber": "1"
},
"appInfo": {
"XSDVersion": "1",
"sheets": "Sheet1",
"allowLessFields": false,
"allowIgnoreCase": false,
"allowDiscontinousOrder": false,
"restrictMoreFields": false,
"headersValidation": false,
"removeInvalidChar": false,
"bottomRowSkipCount": "0",
"formatCellFormulaValue": true,
"processAllSheets": false,
"advanceExcel": false
},
"sheet": [
{
"section": [
{
"name": "Table",
"sectiontype": "table",
"fields": [
{ "name": "Name", "type": "string" },
{ "name": "City", "type": "string" },
{ "name": "Age", "type": "integer" },
{ "name": "Dob", "type": "date", "format": "yyyy-MM-dd", "subFormat": "hh:mm:ss" },
{ "name": "Salary", "type": "double", "format": "USD" }
]
}
]
}
],
"dataFilePresent": false,
"filePath": ""
}Response Example
{
"filePath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\e8bc8533-3c5a-4ca1-8a9e-67c8c45aef4f\\Manual_Create_Name.json",
"xsd": "<?xml version=\"1.0\" encoding=\"UTF-8\"?> ... </xs:schema>"
}Save Schema (Excel)
This API saves the generated Excel schema into the Adeptia repository.
Save Schema API
Method:
POSTURL:
http://localhost/SchemaUI/rest/advschema/create
Request Payload Example
{
"schemaData": {
"ExcelSchema": {
"advancedSchema": true,
"advancedExcel": false,
"headerPresent": true,
"sheetName": "Sheet1",
"encodingUsed": "UTF-8",
"xsd": "<xs:schema>...</xs:schema>",
"startRowNumber": "1",
"startColumnNumber": "1",
"permissionMask": "770",
"description": "Manual_Desc",
"entityName": "Manual_Create_Name",
"project": "Default",
"reusable": true
}
},
"schemaType": "excel",
"filePath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\e8bc8533-3c5a-4ca1-8a9e-67c8c45aef4f\\Manual_Create_Name.json",
"fileChange": false
}Response Example
{
"id": "192168001111175765542794400007",
"entityName": "Manual_Create_Name",
"serviceName": "ExcelSchema",
"filePath": [
"web/AdvanceSchemaRepository\\192168001111175765542794400007\\Manual_Create_Name.json"
]
}
1.2 Create Schema Using File Upload (Excel Flow)
Steps
Upload Excel File
Generate XSD
Save Schema in repository
Upload File
Method: POST
URL:
http://localhost/SchemaUI/rest/advschema/uploadfileRequest Payload Example
(Send as Multipart Form Data)
schemaType: excel
file: (Upload the File)
fileType: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
passwordProtected: false
password:
userInfo:Response Example
{
"data": "{\"totalColumns\":5,\"totalPages\":1,\"start\":1,\"limit\":4,\"page\":1,\"rows\":[{\"columns\":[{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"Name\",\"style\":\"text-align:center;vertical-align:top;border-left:solid 1pt;border-right:solid 1pt;border-top:solid 1pt;border-bottom:solid 1pt;font-weight:bold;font-size:11pt;color: #000000;font-family: Calibri;\",\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":1,\"name\":\"City\",\"style\":\"text-align:center;vertical-align:top;border-left:solid 1pt;border-right:solid 1pt;border-top:solid 1pt;border-bottom:solid 1pt;font-weight:bold;font-size:11pt;color: #000000;font-family: Calibri;\",\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":2,\"name\":\"Age\",\"style\":\"text-align:center;vertical-align:top;border-left:solid 1pt;border-right:solid 1pt;border-top:solid 1pt;border-bottom:solid 1pt;font-weight:bold;font-size:11pt;color: #000000;font-family: Calibri;\",\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":3,\"name\":\"Dob\",\"style\":\"text-align:center;vertical-align:top;border-left:solid 1pt;border-right:solid 1pt;border-top:solid 1pt;border-bottom:solid 1pt;font-weight:bold;font-size:11pt;color: #000000;font-family: Calibri;\",\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":4,\"name\":\"Salary\",\"style\":\"text-align:center;vertical-align:top;border-left:solid 1pt;border-right:solid 1pt;border-top:solid 1pt;border-bottom:solid 1pt;font-weight:bold;font-size:11pt;color: #000000;font-family: Calibri;\",\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false}],\"rowIndex\":0,\"rowHeight\":\"15.0pt\",\"recordIdentifierValue\":null,\"line\":null,\"recordColumns\":null,\"controlTotal\":false},{\"columns\":[{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":0,\"name\":\"John Doe\",\"style\":\"text-align:left;vertical-align:bottom;font-size:11pt;color: #000000;font-family: Calibri;\",\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":1,\"name\":\"New York\",\"style\":\"text-align:left;vertical-align:bottom;font-size:11pt;color: #000000;font-family: Calibri;\",\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":2,\"name\":\"30\",\"style\":\"text-align:left;vertical-align:bottom;font-size:11pt;color: #000000;font-family: Calibri;\",\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":3,\"name\":\"1993-05-12\",\"style\":\"text-align:left;vertical-align:bottom;font-size:11pt;color: #000000;font-family: Calibri;\",\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false},{\"rowSpan\":0,\"colSpan\":0,\"colIndex\":4,\"name\":\"60000.5\",\"style\":\"text-align:left;vertical-align:bottom;font-size:11pt;color: #000000;font-family: Calibri;\",\"cdName\":null,\"cdType\":null,\"cdValue\":null,\"classUsed\":null,\"controlData\":false}],\"rowIndex\":1,\"rowHeight\":\"15.0pt\",\"recordIdentifierValue\":null,\"line\":null,\"recordColumns\":null,\"controlTotal\":false}],\"timeOfExecution\":57}",
"filePath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\9527d350-351e-4f46-b784-541f1d1e3a21\\Sample_Excel_Schema.xlsx"
}Generate XSD
Method: POST
URL:
http://localhost/SchemaUI/rest/advschema/xsd/createRequest Payload Example
{
"json": {
"category": "Schema",
"type": "excel",
"version": "1.0"
},
"schema": {
"defineMode": "data",
"entityName": "File_Upload_Name",
"schemaType": "excel",
"project": "Default",
"entityId": "",
"description": "File_Upload",
"permissionMask": "777",
"userOwner": "",
"fieldSeparator": "",
"encodingUsed": "UTF-8",
"startRowNumber": "1",
"startColumnNumber": "1"
},
"appInfo": {
"XSDVersion": "1",
"sheets": "Sheet1",
"allowLessFields": false,
"allowIgnoreCase": false,
"allowDiscontinousOrder": false,
"restrictMoreFields": false,
"headersValidation": false,
"removeInvalidChar": false,
"bottomRowSkipCount": "0",
"enclosedChar": "",
"formatCellFormulaValue": true,
"processErrorValues": false,
"processAllSheets": false,
"mergeKey": null,
"mergeCriteria": null,
"advanceExcel": false
},
"sheet": [
{
"section": [
{
"name": "Table",
"sectiontype": "table",
"ignoreBlankRows": "0",
"uniqueFieldNames": "",
"fields": [
{
"originalName": "Name",
"name": "Name",
"type": "string",
"format": "AAAAAAA",
"subFormat": "",
"dataMode": "plainText",
"parent": "",
"uniqueKey": "",
"ignoreField": "",
"id": 745,
"newObject": "true",
"sheetName": "Sheet1",
"actualTableName": "Table",
"tableName": "Table",
"sectionType": "Table"
}
]
}
]
}
],
"dataFilePresent": true,
"filePath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\9527d350-351e-4f46-b784-541f1d1e3a21\\Sample_Excel_Schema.xlsx"
}Response Example
{
"filePath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\9527d350-351e-4f46-b784-541f1d1e3a21\\Sample_Excel_Schema.json",
"xsd": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"> ... </xs:schema>"
}Save Schema
Method: POST
URL:
http://localhost/SchemaUI/rest/advschema/createRequest Payload Example
{
"schemaData": {
"ExcelSchema": {
"advancedSchema": true,
"filterBlankRow": false,
"advancedExcel": false,
"headerPresent": true,
"sheetName": "Sheet1",
"nameValueMap": null,
"encodingUsed": "UTF-8",
"json": null,
"xsd": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"> ... </xs:schema>",
"unstructuredDataType": null,
"encryptSecretKey": "",
"decryptSecretKey": "",
"enableStreaming": false,
"allowLessFields": false,
"processAllSheets": false,
"headersValidation": false,
"restrictMoreFields": false,
"allowIgnoreCase": false,
"startColumnNumber": "1",
"startRowNumber": "1",
"filterUnicodeChar": false,
"allowDiscontinousOrder": false,
"excelHeaderMappingXML": "",
"enclosedChar": "",
"repositoryLocation": null,
"xsdFilePath": "",
"recordService": null,
"previousVersion": "",
"permissionMask": "770",
"description": "File_Upload",
"entityName": "File_Upload_Name",
"entityFolderPath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\9527d350-351e-4f46-b784-541f1d1e3a21\\Sample_Excel_Schema.xlsx",
"project": "Default",
"reusable": true
}
},
"schemaType": "excel",
"filePath": "D:\\Mono_Enigma_AC\\enigma\\BPMServer\\web\\AdvanceSchemaRepository\\temp\\9527d350-351e-4f46-b784-541f1d1e3a21\\Sample_Excel_Schema.xlsx",
"fileChange": false
}Response Example
{
"id": "192168001111175765676578500009",
"entityName": "File_Upload_Name",
"serviceName": "ExcelSchema",
"filePath": [
"web/AdvanceSchemaRepository\\192168001111175765676578500009\\Sample_Excel_Schema.xlsx"
]
}
Comments
0 comments
Please sign in to leave a comment.