| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| SuiteDataSourceInstanceId | body | Guid | Yes | Guid representing the external systems datasource information. |
| AlternateKey | body | string | Yes | The unique key that represents the project on the external system. |
| ObjectId | body | Guid | No | Guid of the project object within PSTPF. 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. |
| Project | body | 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 | body | List<RuleValidationResult> | No | List of any validation/errors occuring during a method call |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Message | body | Guid | No | Validation/Error message details |
| Key | body | Guid | No | Summary/label of validation/error |
| ErrorCode | body | Guid | No | Key/code representing validation/error |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Reference | body | string | No | A reference number used for identifying the project in the external system. |
| Name | body | string | Yes | A name for the project. |
| Description | body | string | Yes | A description for the project. |
| ProjectContacts | body | List<SubscriptionLinkContact> | No | A list of ProjectContact records that link contacts (and their role in the project) to the project. |
| ProjectAddress | body | AddressModel | No | An address for the project. |
| CustomerContactGroup | body | SubscriptionObjectModel | No | A link to the Customer Contact Group. |
| GroupName | body | string | No | Project Group Name. |
| StageName | body | string | No | Stage Name. |
| PrimaryProjectImageId | query | Guid | No | Guid of the Media Object representing the projects primary image. |
| PrimaryProjectPhotoUrl | body | string | No | URL to the projects primary full image. |
| PrimaryProjectThumbnailUrl | body | string | No | URL to the projects primary thumbnail image. |
| PrimaryProjectPhotoHeight | body | int | No | Image height of the projects logo. |
| PrimaryProjectPhotoWidth | body | int | No | Image height of the projects logo. |
| DynamicContent | body | string | No | Dynamically linked content. |
| DocumentableObjectConnection | body | 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 | body | List<DimensionValueModel> | No | Dimension values linked to the project. |
| Calendars | body | List<Guid> | No | Dimension values linked to the project. |
| DocumentSiteId | body | Guid | No | The Document Site ID. |
| ObjectSubscriptionId | form | Guid | No | |
| ObjectHash | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ContactId | body | Guid | No | Guid of the contact object within PSTPF. |
| ContactAlternateKey | body | string | No | The unique key that represents the contact on the external system. |
| RoleId | body | Guid | No | Guid of the Role List Item object within PSTPF. |
| RoleAlternateKey | body | 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 | body | double | No | The distance between this project and another specified set of gps coordinates. |
| Latitude | body | Double? | No | The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface. |
| Longitude | body | Double? | No | The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface. |
| AddressFormatId | body | Guid | No | Address Format Id Guid - this will be determined by the service. |
| SuburbId | body | Guid | No | Suburb Id Guid - this will attempt to be determined by the SuburbName, StateShortName and Postcode entered. |
| SuburbName | body | string | No | The suburb name. |
| StateShortName | body | string | No | The shortened State Name e.g Vic for Victoria. |
| PostCode | body | string | No | The suburb postcode. |
| CountryId | body | Guid | No | Country Id Guid - this will be determined by the CountrName or ISOCountryCode entered. |
| CountryName | body | string | No | the name of the country the address is within. |
| ISOCountryCode | query | string | No | ISO Country Code. |
| LotNumber | body | string | No | The address Lot number. |
| SubUnit | body | string | No | The address Sub Unit number. |
| BuildingNumber | body | string | No | The address building number. |
| StreetNumber | body | string | No | The address street number. |
| StreetName | body | string | No | The address street name including street type. |
| AddressLineOne | body | string | No | A formatted address Line 1. |
| AddressLineTwo | body | string | No | A formatted address Line 2. |
| AddressFull | body | string | No | The full address string. |
| IsPhysical | body | bool? | No | True if the address is a physical location. |
| Notes | form | string | No | Notes about the address. |
| AutoMapCoordinates | body | bool? | No | If true, the address is eligible for having its coordinates calculated/updated. |
| LocationCoordinates | body | LocationCoordinates | No | Location Coordinates for the address. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Latitude | query | double | No | The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface. |
| Longitude | query | double | No | 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 | body | Guid | Yes | Guid representing the external systems datasource information. |
| AlternateKey | body | string | No | The unique key that represents the object on the external system. |
| ObjectId | body | Guid | No | Guid of the object within PSTPF. If ObjectId is known, the external system may pass this instead of the alternate key. |
| RmsTableCtxId | body | Guid | No | Guid of the RmsTableCtx within PSTPF. This is used if the alternate key is provided to identify the object to update. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| DimensionValueId | body | Guid | No | Id of the dimension value. |
| DimensionId | body | Guid | No | Dimension Id this value is for. |
| Name | body | string | No | Name of the dimension value. |
| Description | body | string | No | Description of the dimension value. |
| ShortName | body | string | No | Short Name for the dimension value. |
| TrafficLightId | body | Guid | No | Id of the colour associated. |
| TrafficLightColour | body | string | No | Colour associated with the dimension value. |
| ObjectConnectionId | body | Guid | No | Id that links this dimension value to an object. |
| OwnerContactId | body | Guid | No | Owner Id of the dimension value. |
| RecordStatus | body | string | No | Record status of the dimension value. |
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,
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
},
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:
[
{
Message: String,
Key: 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
}
}