| 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 .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/SaveProject HTTP/1.1
Host: production-eros-platform-apisubscription.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
AlternateKey: String,
IgnoreHash: False,
IgnoreValidation: False,
Project:
{
Reference: String,
Name: String,
Description: String,
ProjectContacts:
[
{
ContactAlternateKey: String,
RoleAlternateKey: String
}
],
ProjectAddress:
{
DistanceAway: 0,
Latitude: 0,
Longitude: 0,
SuburbName: String,
StateShortName: String,
PostCode: String,
CountryName: String,
ISOCountryCode: String,
LotNumber: String,
SubUnit: String,
BuildingNumber: String,
StreetNumber: String,
StreetName: String,
AddressLineOne: String,
AddressLineTwo: String,
AddressFull: String,
IsPhysical: False,
Notes: String,
AutoMapCoordinates: False,
LocationCoordinates:
{
Latitude: 0,
Longitude: 0,
Altitude: 0,
Accuracy: 0,
AltitudeAccuracy: 0,
Heading: 0,
Speed: 0,
VerticalSpeed: 0
}
},
CustomerContactGroup:
{
AlternateKey: String,
IgnoreValidation: False
},
GroupName: String,
StageName: String,
PrimaryProjectPhotoUrl: String,
PrimaryProjectThumbnailUrl: String,
PrimaryProjectPhotoHeight: 0,
PrimaryProjectPhotoWidth: 0,
DynamicContent: String,
DocumentableObjectConnection: ,
DimensionValues:
[
{
Name: String,
Description: String,
ShortName: String,
TrafficLightColour: String,
RecordStatus: String
}
],
Calendars:
[
00000000-0000-0000-0000-000000000000
],
DocumentSiteId: 00000000-0000-0000-0000-000000000000,
ObjectHash: String
},
ValidationErrors:
[
{
RuleCode: String,
Message: String,
Key: String,
Tag: String,
ErrorCode: String
}
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}