Exigo Web Services API v2022.12.19.1

CreateExtendedDbEntity

Create Extended DB Entity.

Input Properties

CreateEntityRequest
PropertyData TypeNotes
EntityNameStringAn entity is a representational object of something in your database. Think of these as rows in a table in a SQL database. When naming your entities, we recommend you name your set as the singluar form of the name that best describes this object. For example, if you are creating an entity that will represent a blog post in a blog, a good entity name would be BlogPost.
EntitySetNameStringAn entity set is a collection of entities found in a schema. Think of them as tables in a SQL database. When naming your entity sets, we recommend you name your set as the plural form representing a collection of it's entities. For example, if you are creating an entity set that will hold a collection of BlogPost entities, a good entity set name would be BlogPosts.
SchemaNameString
IsLogBoolean
MaxLogDaysInt32
LogDateFieldStringOptional.
NavigationsString[]Optional. Relationships between tables in the same schema.
PropertiesPropertyDataRequest[]
PropertyDataRequest
PropertyData TypeNotes
PropertyNameString
IsKeyBoolean
IsNewBoolean
IsAutoNumberBoolean
AllowDbNullBoolean
Type PropertyType
DefaultValueStringOptional.
SizeInt32Optional. Only required when PropertyType = String.
MaskTypeId Int32Optional. Sandbox Data Masking is the process of masking data elements to the human eye in Sandbox Environments. The masking is primarily applied to PII (Personally Identifiable Information) fields as determined by Exigo, but is also user configurable for Extended Database Tables. The process used by Exigo to perform this is via the Dynamic Data Masking feature of SQL Server.Therefore, the limitations of the feature, are subject to the constraints of SQL Server.

Output Properties

CreateEntityResponse
PropertyData TypeNotes
EntityEntityDataResponse
EntityDataResponse
PropertyData TypeNotes
EntityNameString
EntitySetNameString
SchemaNameString
IsLogBoolean
MaxLogDaysInt32
LogDateFieldString
NavigationsString[]
PropertiesPropertyDataResponse[]
PropertyDataResponse
PropertyData TypeNotes
PropertyNameString
IsKeyBoolean
IsNewBoolean
IsAutoNumberBoolean
AllowDbNullBoolean
Type PropertyType
DefaultValueString
SizeInt32
MaskTypeMaskTypeDataResponse
MaskTypeDataResponse
PropertyData TypeNotes
MaskTypeIdInt32
NameString
DescriptionString

Http Request

POST https://yourcompany-api.exigo.com/3.0/extendeddb HTTP/1.1
Content-Type: application/json
Authorization: Basic base64Encoded(yourlogin@yourcompany:yourpassword)

{ "entityName": "1", "entitySetName": "1", "schemaName": "1", "isLog": true, "maxLogDays": 1, "logDateField": "", "navigations": null, "properties": null }

Http Response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: length

{ "entity": null, "result": null }

Soap Request

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

POST /3.0/ExigoApi.asmx HTTP/1.1
Host: api.exigo.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "https://api.exigo.com/CreateExtendedDbEntity"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <ApiAuthentication xmlns="http://api.exigo.com/"> <LoginName>string</LoginName> <Password>string</Password> <Company>string</Company> <Identity>string</Identity> <RequestTimeUtc>dateTime</RequestTimeUtc> <Signature>string</Signature> </ApiAuthentication> </soap:Header> <soap:Body> <CreateEntityRequest xmlns="http://api.exigo.com/"> <EntityName>string</EntityName> <EntitySetName>string</EntitySetName> <SchemaName>string</SchemaName> <IsLog>boolean</IsLog> <MaxLogDays>int</MaxLogDays> <LogDateField>string</LogDateField> <Navigations> <string>string</string> </Navigations> <Properties> <PropertyDataRequest> <PropertyName>string</PropertyName> <IsKey>boolean</IsKey> <IsNew>boolean</IsNew> <IsAutoNumber>boolean</IsAutoNumber> <AllowDbNull>boolean</AllowDbNull> <Type>Integer or DateTime2 or DateTime or Decimal or Boolean or String or StringMax or Binary or Guid</Type> <DefaultValue>string</DefaultValue> <Size>int</Size> <MaskTypeId>int</MaskTypeId> </PropertyDataRequest> </Properties> </CreateEntityRequest> </soap:Body> </soap:Envelope>

Soap Response

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CreateExtendedDbEntityResult xmlns="http://api.exigo.com/"> <Entity> <EntityName>string</EntityName> <EntitySetName>string</EntitySetName> <SchemaName>string</SchemaName> <IsLog>boolean</IsLog> <MaxLogDays>int</MaxLogDays> <LogDateField>string</LogDateField> <Navigations> <string>string</string> </Navigations> <Properties> <PropertyDataResponse> <PropertyName>string</PropertyName> <IsKey>boolean</IsKey> <IsNew>boolean</IsNew> <IsAutoNumber>boolean</IsAutoNumber> <AllowDbNull>boolean</AllowDbNull> <Type>Integer or DateTime2 or DateTime or Decimal or Boolean or String or StringMax or Binary or Guid</Type> <DefaultValue>string</DefaultValue> <Size>int</Size> <MaskType> <MaskTypeId>int</MaskTypeId> <Name>string</Name> <Description>string</Description> </MaskType> </PropertyDataResponse> </Properties> </Entity> </CreateExtendedDbEntityResult> </soap:Body> </soap:Envelope>

C# Rest Client

Install Nuget package Exigo.Api.Client

try

{

    //Create Api Client

    var api = new ExigoApiClient("yourcmpany", "yourlogin", "yourpassword");

 

    //Create Request

    var req = new CreateEntityRequest();

 

    req.EntityName = "1";           //An entity is a representational object of something in your database. Think of these as rows in a table in a SQL database. When naming your entities, we recommend you name your set as the singluar form of the name that best describes this object. For example, if you are creating an entity that will represent a blog post in a blog, a good entity name would be BlogPost.

    req.EntitySetName = "1";        //An entity set is a collection of entities found in a schema. Think of them as tables in a SQL database. When naming your entity sets, we recommend you name your set as the plural form representing a collection of it's entities. For example, if you are creating an entity set that will hold a collection of BlogPost entities, a good entity set name would be BlogPosts.

    req.SchemaName = "1";

    req.IsLog = true;

    req.MaxLogDays = 1;

    req.LogDateField = "1";

 

    //Add Navigations

    var navigations = new List<String>();

    navigations.Add("1");

    navigations.Add("2");

 

    //Now attach the list to the request

    req.Navigations = navigations.ToArray();

 

    //Add Properties

    var properties = new List<PropertyDataRequest>();

 

    var propertie1 = new PropertyDataRequest();

    propertie1.PropertyName = "1";

    propertie1.IsKey = true;

    propertie1.IsNew = true;

    propertie1.IsAutoNumber = true;

    propertie1.AllowDbNull = true;

    propertie1.Type = PropertyType.Guid;

    propertie1.DefaultValue = "1";

    propertie1.Size = 1;

    propertie1.MaskTypeId = 1;

    properties.Add(propertie1);

 

    var propertie2 = new PropertyDataRequest();

    propertie2.PropertyName = "2";

    propertie2.IsKey = true;

    propertie2.IsNew = true;

    propertie2.IsAutoNumber = true;

    propertie2.AllowDbNull = true;

    propertie2.Type = PropertyType.Guid;

    propertie2.DefaultValue = "2";

    propertie2.Size = 2;

    propertie2.MaskTypeId = 2;

    properties.Add(propertie2);

 

    //Now attach the list to the request

    req.Properties = properties.ToArray();

 

    //Send Request to Server and Get Response

    var res = await api.CreateExtendedDbEntityAsync(req);

 

    //Now examine the results:

    Console.WriteLine("Entity: {0}", res.Entity);

}

catch (Exception ex)

{

    Console.WriteLine("Error: " + ex.Message);

}

C# Soap Client

try

{

    //Create Main API Context Object

    ExigoApi api = new ExigoApi();

 

    //Create Authentication Header

    ApiAuthentication auth = new ApiAuthentication();

    auth.LoginName = "yourLoginName";

    auth.Password = "yourPassword";

    auth.Company = "yourCompany";

    api.ApiAuthenticationValue = auth;

 

    //Create Request

    CreateEntityRequest req = new CreateEntityRequest();

 

    req.EntityName = "1";           //An entity is a representational object of something in your database. Think of these as rows in a table in a SQL database. When naming your entities, we recommend you name your set as the singluar form of the name that best describes this object. For example, if you are creating an entity that will represent a blog post in a blog, a good entity name would be BlogPost.

    req.EntitySetName = "1";        //An entity set is a collection of entities found in a schema. Think of them as tables in a SQL database. When naming your entity sets, we recommend you name your set as the plural form representing a collection of it's entities. For example, if you are creating an entity set that will hold a collection of BlogPost entities, a good entity set name would be BlogPosts.

    req.SchemaName = "1";

    req.IsLog = true;

    req.MaxLogDays = 1;

    req.LogDateField = "1";

 

    //Add Navigations

    List<String> navigations = new List<String>();

    navigations.Add("1");

    navigations.Add("2");

 

    //Now attach the list to the request

    req.Navigations = navigations.ToArray();

 

    //Add Properties

    List<PropertyDataRequest> properties = new List<PropertyDataRequest>();

 

    PropertyDataRequest propertie1 = new PropertyDataRequest();

    propertie1.PropertyName = "1";

    propertie1.IsKey = true;

    propertie1.IsNew = true;

    propertie1.IsAutoNumber = true;

    propertie1.AllowDbNull = true;

    propertie1.Type = PropertyType.Guid;

    propertie1.DefaultValue = "1";

    propertie1.Size = 1;

    propertie1.MaskTypeId = 1;

    properties.Add(propertie1);

 

    PropertyDataRequest propertie2 = new PropertyDataRequest();

    propertie2.PropertyName = "2";

    propertie2.IsKey = true;

    propertie2.IsNew = true;

    propertie2.IsAutoNumber = true;

    propertie2.AllowDbNull = true;

    propertie2.Type = PropertyType.Guid;

    propertie2.DefaultValue = "2";

    propertie2.Size = 2;

    propertie2.MaskTypeId = 2;

    properties.Add(propertie2);

 

    //Now attach the list to the request

    req.Properties = properties.ToArray();

 

    //Send Request to Server and Get Response

    CreateEntityResponse res = api.CreateExtendedDbEntity(req);

 

    //Now examine the results:

    Console.WriteLine("Entity: {0}", res.Entity);

}

catch (Exception ex)

{

    Console.WriteLine("Error: " + ex.Message);

}

VB.Net

Try

    'Create Main API Context Object

    Dim api as new ExigoApi()

 

    'Create Authentication Header

    Dim auth as new ApiAuthentication()

    auth.LoginName = "yourLoginName"

    auth.Password = "yourPassword"

    auth.Company = "yourCompany"

    api.ApiAuthenticationValue = auth

 

    'Create Request

    Dim req as new CreateEntityRequest()

 

    req.EntityName = "1"

    req.EntitySetName = "1"

    req.SchemaName = "1"

    req.IsLog = true

    req.MaxLogDays = 1

    req.LogDateField = "1"

 

    'Add Navigations

    Dim navigations As New List(Of String)()

    navigations.Add("1")

    navigations.Add("2")

 

    'Now attach the list to the request

    req.Navigations = navigations.ToArray()

 

    'Add Properties

    Dim properties As New List(Of PropertyDataRequest)()

 

    Dim propertie1 as new PropertyDataRequest()

    propertie1.PropertyName = "1"

    propertie1.IsKey = true

    propertie1.IsNew = true

    propertie1.IsAutoNumber = true

    propertie1.AllowDbNull = true

    propertie1.Type = PropertyType.Guid

    propertie1.DefaultValue = "1"

    propertie1.Size = 1

    propertie1.MaskTypeId = 1

    properties.Add(propertie1)

 

    Dim propertie2 as new PropertyDataRequest()

    propertie2.PropertyName = "2"

    propertie2.IsKey = true

    propertie2.IsNew = true

    propertie2.IsAutoNumber = true

    propertie2.AllowDbNull = true

    propertie2.Type = PropertyType.Guid

    propertie2.DefaultValue = "2"

    propertie2.Size = 2

    propertie2.MaskTypeId = 2

    properties.Add(propertie2)

 

    'Now attach the list to the request

    req.Properties = properties.ToArray()

 

    'Send Request to Server and Get Response

    Dim res As CreateEntityResponse = api.CreateExtendedDbEntity(req)

 

    'Now examine the results:

    Console.WriteLine("Entity: {0}", res.Entity)

Catch ex As Exception

    Console.WriteLine("Error: " & ex.Message)

End Try

PHP

Note: PHP is not officially supported.

<?php

try

{

    //Setup the SoapClient and Authentication

    $api = new SoapClient("http://api.exigo.com/3.0/ExigoApi.asmx?WSDL");

    $ns = "http://api.exigo.com/";

    $auth = array()

    $auth["LoginName"] = new SoapVar("yourLoginName",XSD_STRING,null,null,null,$ns);

    $auth["Password"] = new SoapVar("yourPassword",XSD_STRING,null,null,null,$ns);

    $auth["Company"] = new SoapVar("yourCompany",XSD_STRING,null,null,null,$ns);

    $headerBody = new SoapVar($auth, SOAP_ENC_OBJECT);

    $header = new SoapHeader($ns, 'ApiAuthentication', $headerBody);

    $api->__setSoapHeaders(array($header));

 

    //Create Request

 

    $req->EntityName = "1";

    $req->EntitySetName = "1";

    $req->SchemaName = "1";

    $req->IsLog = 1;

    $req->MaxLogDays = 1;

    $req->LogDateField = "1";

 

    //Add Navigations

 

    $navigation1->Chars = 1;

    $navigation1->Length = 1;

 

    $navigation2->Length = 2;

    $navigation2->Chars = 2;

 

    //Now attach the list to the request

    req.Navigations = array(navigation1,navigation2);

 

    //Add Properties

 

    $propertie1->PropertyName = "1";

    $propertie1->IsKey = 1;

    $propertie1->IsNew = 1;

    $propertie1->IsAutoNumber = 1;

    $propertie1->AllowDbNull = 1;

    $propertie1->Type = 1;

    $propertie1->DefaultValue = "1";

    $propertie1->Size = 1;

    $propertie1->MaskTypeId = 1;

 

    $propertie2->PropertyName = "2";

    $propertie2->IsKey = 2;

    $propertie2->IsNew = 2;

    $propertie2->IsAutoNumber = 2;

    $propertie2->AllowDbNull = 2;

    $propertie2->Type = 2;

    $propertie2->DefaultValue = "2";

    $propertie2->Size = 2;

    $propertie2->MaskTypeId = 2;

 

    //Now attach the list to the request

    req.Properties = array(propertie1,propertie2);

 

    //Send Request to Server and Get Response

    $res = $api.CreateExtendedDbEntity($req);

 

    //Now examine the results:

}

catch (SoapFault $ex)

{

    echo "Error: ", $ex->getMessage();

}

?>

Java

Note: Java is not officially supported.

try

{

    //Create Main API Context Object

    ExigoApi api = new ExigoApi();

 

    //Create Authentication Header

    ApiAuthentication auth = new ApiAuthentication();

    auth.setLoginName("yourLoginName");

    auth.setPassword("yourPassword");

    auth.setCompany("yourCompany");

    api.setApiAuthenticationValue(auth);

 

    //Create Request

    CreateEntityRequest req = new CreateEntityRequest();

 

    req.setEntityName("1");

    req.setEntitySetName("1");

    req.setSchemaName("1");

    req.setIsLog(1);

    req.setMaxLogDays(1);

    req.setLogDateField("1");

 

    //Add Navigations

    ArrayOfSystem.String navigations = new ArrayOfSystem.String();

 

    String navigation1 = new String();

    navigation1.setLength(1);

    navigation1.setChars(1);

    navigations.Add(navigation1);

 

    String navigation2 = new String();

    navigation2.setLength(2);

    navigation2.setChars(2);

    navigations.Add(navigation2);

 

    //Now attach the list to the request

    req.setNavigations(navigations);

 

    //Add Properties

    ArrayOfPropertyDataRequest properties = new ArrayOfPropertyDataRequest();

 

    PropertyDataRequest propertie1 = new PropertyDataRequest();

    propertie1.setPropertyName("1");

    propertie1.setIsKey(1);

    propertie1.setIsNew(1);

    propertie1.setIsAutoNumber(1);

    propertie1.setAllowDbNull(1);

    propertie1.setType(1);

    propertie1.setDefaultValue("1");

    propertie1.setSize(1);

    propertie1.setMaskTypeId(1);

    properties.Add(propertie1);

 

    PropertyDataRequest propertie2 = new PropertyDataRequest();

    propertie2.setPropertyName("2");

    propertie2.setIsKey(2);

    propertie2.setIsNew(2);

    propertie2.setIsAutoNumber(2);

    propertie2.setAllowDbNull(2);

    propertie2.setType(2);

    propertie2.setDefaultValue("2");

    propertie2.setSize(2);

    propertie2.setMaskTypeId(2);

    properties.Add(propertie2);

 

    //Now attach the list to the request

    req.setProperties(properties);

 

    //Send Request to Server and Get Response

    CreateEntityResponse res = api.getExigoApiSoap().createExtendedDbEntity(req, auth);

 

    //Now examine the results:

}

catch (Exception ex)

{

    System.out.println("Error: " + ex.getMessage());

}

CSV

This method does not support csv output.