| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| SuiteDataSourceInstanceId | query | Guid | Yes | Guid representing the external systems datasource information. |
| AlternateKey | query | string | Yes | The unique key that represents the project on the external system. |
| ObjectId | query | Guid | No | Guid of the project object within Eros. If ObjectId is known, the external system may pass this instead of the alternate key. |
| IgnoreHash | query | bool | No | If set to true, the object will be updated/refreshed. If false, the hash representation of the Project model and its data will be compared with the current Project to determine if there are any changes to save. |
| IgnoreValidation | query | bool | No | |
| Project | query | SubscriptionCommonProjectModel | Yes | Object containing all details of the project to be inserted or updated. |
| LicenseeId | query | Guid | No | |
| SessionId | query | Guid | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ValidationErrors | form | List<RuleValidationResult> | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| RuleCode | form | string | No | |
| Message | form | string | No | |
| Key | form | string | No | |
| Tag | form | string | No | |
| ErrorCode | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Reference | query | string | No | A reference number used for identifying the project in the external system. |
| Name | query | string | Yes | A name for the project. |
| Description | query | string | Yes | A description for the project. |
| ProjectContacts | query | List<SubscriptionLinkContact> | No | A list of ProjectContact records that link contacts (and their role in the project) to the project. |
| ProjectAddress | query | AddressModel | No | An address for the project. |
| CustomerContactGroup | query | SubscriptionObjectModel | No | A link to the Customer Contact Group. |
| GroupName | query | string | No | Project Group Name. |
| StageName | query | string | No | Stage Name. |
| PrimaryProjectImageId | query | Guid | No | Guid of the Media Object representing the projects primary image. |
| PrimaryProjectPhotoUrl | query | string | No | URL to the projects primary full image. |
| PrimaryProjectThumbnailUrl | query | string | No | URL to the projects primary thumbnail image. |
| PrimaryProjectPhotoHeight | query | int | No | Image height of the projects logo. |
| PrimaryProjectPhotoWidth | query | int | No | Image height of the projects logo. |
| DynamicContent | query | string | No | Dynamically linked content. |
| DocumentableObjectConnection | query | char | No | If this is 'A' then a documentable ObjectConnection will be created. If this is 'D' then a documentable ObjectConnection will be removed if it exists. Any other value will be ignored. |
| DimensionValues | query | List<DimensionValueModel> | No | Dimension values linked to the project. |
| Calendars | query | List<Guid> | No | Dimension values linked to the project. |
| DocumentSiteId | query | Guid | No | The Document Site ID. |
| ObjectSubscriptionId | form | Guid | No | |
| ObjectHash | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ContactId | query | Guid | No | Guid of the contact object within Eros. |
| ContactAlternateKey | query | string | Yes | The unique key that represents the contact on the external system. |
| RoleId | query | Guid | Yes | Guid of the Role List Item object within Eros. |
| RoleAlternateKey | query | string | No | The unique key that represents the role type on the external system. Note: Use of this is not currently implemented |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| DistanceAway | query | double | No | The distance between this project and another specified set of gps coordinates. |
| Latitude | query | Double? | Yes | The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface. |
| Longitude | query | Double? | Yes | The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface. |
| AddressFormatId | query | Guid | No | Address Format Id Guid - this will be determined by the service. |
| SuburbId | query | Guid | No | Suburb Id Guid - this will attempt to be determined by the SuburbName, StateShortName and Postcode entered. |
| SuburbName | query | string | No | The suburb name. |
| StateShortName | query | string | No | The shortened State Name e.g Vic for Victoria. |
| PostCode | query | string | No | The suburb postcode. |
| CountryId | query | Guid | No | Country Id Guid - this will be determined by the CountrName or ISOCountryCode entered. |
| CountryName | query | string | No | the name of the country the address is within. |
| ISOCountryCode | query | string | No | A 2 digit ISO Country Code representing the country. |
| LotNumber | query | string | No | The address Lot number. |
| SubUnit | query | string | No | The address Sub Unit number. |
| BuildingNumber | query | string | No | The address building number. |
| StreetNumber | query | string | No | The address street number. |
| StreetName | query | string | No | The address street name including street type. |
| AddressLineOne | query | string | No | A formatted address Line 1. |
| AddressLineTwo | query | string | No | A formatted address Line 2. |
| AddressFull | query | string | No | The full address string. |
| IsPhysical | query | bool? | No | True if the address is a physical location. |
| Notes | query | string | No | Notes about the address. |
| AutoMapCoordinates | query | bool? | No | If true, the address is eligible for having its coordinates calculated/updated. |
| LocationCoordinates | query | LocationCoordinates | No | Location Coordinates for the address. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Latitude | query | Double? | Yes | The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface. |
| Longitude | query | Double? | Yes | The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface. |
| Altitude | query | Double? | No | The altitude of an address - the altitude above sea level. |
| Accuracy | query | Double? | No | Accuracy of the latitude and longitude. |
| AltitudeAccuracy | query | Double? | No | Accurancy of the Altitude. |
| Heading | query | Double? | No | Direction you are heading. |
| Speed | query | Double? | No | Speed you are going. |
| VerticalSpeed | query | Double? | No | Speed your altitude is ascending/descending at. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| SuiteDataSourceInstanceId | query | Guid | Yes | Guid representing the external systems datasource information. |
| AlternateKey | query | string | Yes | The unique key that represents the object on the external system. |
| ObjectId | query | Guid | No | Guid of the object within Eros. If ObjectId is known, the external system may pass this instead of the alternate key. |
| RmsTableCtxId | query | Guid | No | Guid of the RmsTableCtx within Eros. This is used if the alternate key is provided to identify the object to update. |
| IgnoreValidation | query | bool | No | Validation ensures that this object has a value in alternateKey or ObjectId, ignoring validation skips this requirement. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| DimensionValueId | form | Guid | No | |
| DimensionId | form | Guid | No | |
| Name | form | string | No | |
| Description | form | string | No | |
| ShortName | form | string | No | |
| TrafficLightId | form | Guid | No | |
| TrafficLightColour | form | string | No | |
| ObjectConnectionId | form | Guid | No | |
| OwnerContactId | form | Guid | No | |
| RecordStatus | form | string | No |
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/SaveProject HTTP/1.1
Host: production-eros-platform-apisubscription.azurewebsites.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<SaveProject xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModelSubscription">
<_x003C_ValidationErrors_x003E_k__BackingField xmlns="http://schemas.datacontract.org/2004/07/Eros.Saguna.Common.Library.ValidationEngine">
<RuleValidationResult>
<_x003C_ErrorCode_x003E_k__BackingField>String</_x003C_ErrorCode_x003E_k__BackingField>
<_x003C_Key_x003E_k__BackingField>String</_x003C_Key_x003E_k__BackingField>
<_x003C_Message_x003E_k__BackingField>String</_x003C_Message_x003E_k__BackingField>
<_x003C_RuleCode_x003E_k__BackingField>String</_x003C_RuleCode_x003E_k__BackingField>
<_x003C_Tag_x003E_k__BackingField>String</_x003C_Tag_x003E_k__BackingField>
</RuleValidationResult>
</_x003C_ValidationErrors_x003E_k__BackingField>
<_x003C_AlternateKey_x003E_k__BackingField>String</_x003C_AlternateKey_x003E_k__BackingField>
<_x003C_IgnoreHash_x003E_k__BackingField>false</_x003C_IgnoreHash_x003E_k__BackingField>
<_x003C_LicenseeId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</_x003C_LicenseeId_x003E_k__BackingField>
<_x003C_ObjectId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</_x003C_ObjectId_x003E_k__BackingField>
<_x003C_Project_x003E_k__BackingField xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eros.Saguna.Common.WebAPI.ServiceModel">
<d2p1:_x003C_Calendars_x003E_k__BackingField xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:guid>00000000-0000-0000-0000-000000000000</d3p1:guid>
</d2p1:_x003C_Calendars_x003E_k__BackingField>
<d2p1:_x003C_CustomerContactGroup_x003E_k__BackingField>
<d2p1:_x003C_AlternateKey_x003E_k__BackingField>String</d2p1:_x003C_AlternateKey_x003E_k__BackingField>
<d2p1:_x003C_ObjectId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d2p1:_x003C_ObjectId_x003E_k__BackingField>
<d2p1:_x003C_RmsTableCtxId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d2p1:_x003C_RmsTableCtxId_x003E_k__BackingField>
<d2p1:_x003C_SuiteDataSourceInstanceId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d2p1:_x003C_SuiteDataSourceInstanceId_x003E_k__BackingField>
</d2p1:_x003C_CustomerContactGroup_x003E_k__BackingField>
<d2p1:_x003C_Description_x003E_k__BackingField>String</d2p1:_x003C_Description_x003E_k__BackingField>
<d2p1:_x003C_DimensionValues_x003E_k__BackingField xmlns:d3p1="http://schemas.datacontract.org/2004/07/Eros.Saguna.Common.WebAPIModel.Models">
<d3p1:DimensionValueModel>
<d3p1:_x003C_Description_x003E_k__BackingField>String</d3p1:_x003C_Description_x003E_k__BackingField>
<d3p1:_x003C_DimensionId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d3p1:_x003C_DimensionId_x003E_k__BackingField>
<d3p1:_x003C_DimensionValueId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d3p1:_x003C_DimensionValueId_x003E_k__BackingField>
<d3p1:_x003C_Name_x003E_k__BackingField>String</d3p1:_x003C_Name_x003E_k__BackingField>
<d3p1:_x003C_ObjectConnectionId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d3p1:_x003C_ObjectConnectionId_x003E_k__BackingField>
<d3p1:_x003C_OwnerContactId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d3p1:_x003C_OwnerContactId_x003E_k__BackingField>
<d3p1:_x003C_RecordStatus_x003E_k__BackingField>String</d3p1:_x003C_RecordStatus_x003E_k__BackingField>
<d3p1:_x003C_ShortName_x003E_k__BackingField>String</d3p1:_x003C_ShortName_x003E_k__BackingField>
<d3p1:_x003C_TrafficLightColour_x003E_k__BackingField>String</d3p1:_x003C_TrafficLightColour_x003E_k__BackingField>
<d3p1:_x003C_TrafficLightId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d3p1:_x003C_TrafficLightId_x003E_k__BackingField>
</d3p1:DimensionValueModel>
</d2p1:_x003C_DimensionValues_x003E_k__BackingField>
<d2p1:_x003C_DocumentSiteId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d2p1:_x003C_DocumentSiteId_x003E_k__BackingField>
<d2p1:_x003C_DocumentableObjectConnection_x003E_k__BackingField>0</d2p1:_x003C_DocumentableObjectConnection_x003E_k__BackingField>
<d2p1:_x003C_DynamicContent_x003E_k__BackingField>String</d2p1:_x003C_DynamicContent_x003E_k__BackingField>
<d2p1:_x003C_GroupName_x003E_k__BackingField>String</d2p1:_x003C_GroupName_x003E_k__BackingField>
<d2p1:_x003C_Name_x003E_k__BackingField>String</d2p1:_x003C_Name_x003E_k__BackingField>
<d2p1:_x003C_ObjectHash_x003E_k__BackingField>String</d2p1:_x003C_ObjectHash_x003E_k__BackingField>
<d2p1:_x003C_ObjectSubscriptionId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d2p1:_x003C_ObjectSubscriptionId_x003E_k__BackingField>
<d2p1:_x003C_PrimaryProjectImageId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d2p1:_x003C_PrimaryProjectImageId_x003E_k__BackingField>
<d2p1:_x003C_PrimaryProjectPhotoHeight_x003E_k__BackingField>0</d2p1:_x003C_PrimaryProjectPhotoHeight_x003E_k__BackingField>
<d2p1:_x003C_PrimaryProjectPhotoUrl_x003E_k__BackingField>String</d2p1:_x003C_PrimaryProjectPhotoUrl_x003E_k__BackingField>
<d2p1:_x003C_PrimaryProjectPhotoWidth_x003E_k__BackingField>0</d2p1:_x003C_PrimaryProjectPhotoWidth_x003E_k__BackingField>
<d2p1:_x003C_PrimaryProjectThumbnailUrl_x003E_k__BackingField>String</d2p1:_x003C_PrimaryProjectThumbnailUrl_x003E_k__BackingField>
<d2p1:_x003C_ProjectAddress_x003E_k__BackingField>
<d2p1:_addressFull>String</d2p1:_addressFull>
<d2p1:_x003C_AddressFormatId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d2p1:_x003C_AddressFormatId_x003E_k__BackingField>
<d2p1:_x003C_AddressLineOne_x003E_k__BackingField>String</d2p1:_x003C_AddressLineOne_x003E_k__BackingField>
<d2p1:_x003C_AddressLineTwo_x003E_k__BackingField>String</d2p1:_x003C_AddressLineTwo_x003E_k__BackingField>
<d2p1:_x003C_AutoMapCoordinates_x003E_k__BackingField>false</d2p1:_x003C_AutoMapCoordinates_x003E_k__BackingField>
<d2p1:_x003C_BuildingNumber_x003E_k__BackingField>String</d2p1:_x003C_BuildingNumber_x003E_k__BackingField>
<d2p1:_x003C_CountryId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d2p1:_x003C_CountryId_x003E_k__BackingField>
<d2p1:_x003C_CountryName_x003E_k__BackingField>String</d2p1:_x003C_CountryName_x003E_k__BackingField>
<d2p1:_x003C_DistanceAway_x003E_k__BackingField>0</d2p1:_x003C_DistanceAway_x003E_k__BackingField>
<d2p1:_x003C_ISOCountryCode_x003E_k__BackingField>String</d2p1:_x003C_ISOCountryCode_x003E_k__BackingField>
<d2p1:_x003C_IsPhysical_x003E_k__BackingField>false</d2p1:_x003C_IsPhysical_x003E_k__BackingField>
<d2p1:_x003C_Latitude_x003E_k__BackingField>0</d2p1:_x003C_Latitude_x003E_k__BackingField>
<d2p1:_x003C_LocationCoordinates_x003E_k__BackingField>
<d2p1:_x003C_Accuracy_x003E_k__BackingField>0</d2p1:_x003C_Accuracy_x003E_k__BackingField>
<d2p1:_x003C_AltitudeAccuracy_x003E_k__BackingField>0</d2p1:_x003C_AltitudeAccuracy_x003E_k__BackingField>
<d2p1:_x003C_Altitude_x003E_k__BackingField>0</d2p1:_x003C_Altitude_x003E_k__BackingField>
<d2p1:_x003C_Heading_x003E_k__BackingField>0</d2p1:_x003C_Heading_x003E_k__BackingField>
<d2p1:_x003C_Latitude_x003E_k__BackingField>0</d2p1:_x003C_Latitude_x003E_k__BackingField>
<d2p1:_x003C_Longitude_x003E_k__BackingField>0</d2p1:_x003C_Longitude_x003E_k__BackingField>
<d2p1:_x003C_Speed_x003E_k__BackingField>0</d2p1:_x003C_Speed_x003E_k__BackingField>
<d2p1:_x003C_VerticalSpeed_x003E_k__BackingField>0</d2p1:_x003C_VerticalSpeed_x003E_k__BackingField>
</d2p1:_x003C_LocationCoordinates_x003E_k__BackingField>
<d2p1:_x003C_Longitude_x003E_k__BackingField>0</d2p1:_x003C_Longitude_x003E_k__BackingField>
<d2p1:_x003C_LotNumber_x003E_k__BackingField>String</d2p1:_x003C_LotNumber_x003E_k__BackingField>
<d2p1:_x003C_Notes_x003E_k__BackingField>String</d2p1:_x003C_Notes_x003E_k__BackingField>
<d2p1:_x003C_PostCode_x003E_k__BackingField>String</d2p1:_x003C_PostCode_x003E_k__BackingField>
<d2p1:_x003C_StateShortName_x003E_k__BackingField>String</d2p1:_x003C_StateShortName_x003E_k__BackingField>
<d2p1:_x003C_StreetName_x003E_k__BackingField>String</d2p1:_x003C_StreetName_x003E_k__BackingField>
<d2p1:_x003C_StreetNumber_x003E_k__BackingField>String</d2p1:_x003C_StreetNumber_x003E_k__BackingField>
<d2p1:_x003C_SubUnit_x003E_k__BackingField>String</d2p1:_x003C_SubUnit_x003E_k__BackingField>
<d2p1:_x003C_SuburbId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d2p1:_x003C_SuburbId_x003E_k__BackingField>
<d2p1:_x003C_SuburbName_x003E_k__BackingField>String</d2p1:_x003C_SuburbName_x003E_k__BackingField>
</d2p1:_x003C_ProjectAddress_x003E_k__BackingField>
<d2p1:_x003C_ProjectContacts_x003E_k__BackingField>
<d2p1:SubscriptionLinkContact>
<d2p1:_x003C_ContactAlternateKey_x003E_k__BackingField>String</d2p1:_x003C_ContactAlternateKey_x003E_k__BackingField>
<d2p1:_x003C_ContactId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d2p1:_x003C_ContactId_x003E_k__BackingField>
<d2p1:_x003C_RoleAlternateKey_x003E_k__BackingField>String</d2p1:_x003C_RoleAlternateKey_x003E_k__BackingField>
<d2p1:_x003C_RoleId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</d2p1:_x003C_RoleId_x003E_k__BackingField>
</d2p1:SubscriptionLinkContact>
</d2p1:_x003C_ProjectContacts_x003E_k__BackingField>
<d2p1:_x003C_Reference_x003E_k__BackingField>String</d2p1:_x003C_Reference_x003E_k__BackingField>
<d2p1:_x003C_StageName_x003E_k__BackingField>String</d2p1:_x003C_StageName_x003E_k__BackingField>
</_x003C_Project_x003E_k__BackingField>
<_x003C_SessionId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</_x003C_SessionId_x003E_k__BackingField>
<_x003C_SuiteDataSourceInstanceId_x003E_k__BackingField>00000000-0000-0000-0000-000000000000</_x003C_SuiteDataSourceInstanceId_x003E_k__BackingField>
</SaveProject>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ResponseStatus xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<ErrorCode>String</ErrorCode>
<Message>String</Message>
<StackTrace>String</StackTrace>
<Errors>
<ResponseError>
<ErrorCode>String</ErrorCode>
<FieldName>String</FieldName>
<Message>String</Message>
<Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringstring>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value>String</d4p1:Value>
</d4p1:KeyValueOfstringstring>
</Meta>
</ResponseError>
</Errors>
<Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Meta>
</ResponseStatus>