Platform API

<back to all web services

ManagePrimaryImage

Requires Authentication
The following routes are available for this service:
All Verbs/api/primaryimage
All Verbs/api/primaryimage/userprofile
"use strict";
export class SaveMediaResponse {
    /** @param {{ErosMediaFileId?:string,MediaName?:string,OriginalFileName?:string,MediaFileUrl?:string,MediaFileThumbnailUrl?:string,ResponseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Media File Guid */
    ErosMediaFileId;
    /**
     * @type {string}
     * @description Media File Name */
    MediaName;
    /**
     * @type {string}
     * @description The original name of the media being saved. */
    OriginalFileName;
    /**
     * @type {string}
     * @description Url of the media file. */
    MediaFileUrl;
    /**
     * @type {string}
     * @description Url of the media file thumbnail. */
    MediaFileThumbnailUrl;
    /**
     * @type {ResponseStatus}
     * @description Service Stack Response Status. */
    ResponseStatus;
}
export class MediaModel {
    /** @param {{MediaFileId?:string,MediaName?:string,FileContent?:string,FileContentType?:string,FilePath?:string,OriginalFileName?:string,ImageWidth?:number,ImageHeight?:number,FileSizeKB?:number,BlobUriRaw?:string,BlobUriFull?:string,BlobUriThumbnail?:string,WatermarkUri?:string,CapturedDate?:string,CapturedByContactId?:string,CapturedByContactName?:string,CapturedByContactThumbnailUrl?:string,Notes?:string,ResourceActionName?:string,LocationVerified?:string,TrafficLightLocationVerified?:string,AudienceLevel?:string,WorksFor?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    MediaFileId;
    /** @type {string} */
    MediaName;
    /** @type {string} */
    FileContent;
    /** @type {string} */
    FileContentType;
    /** @type {string} */
    FilePath;
    /** @type {string} */
    OriginalFileName;
    /** @type {number} */
    ImageWidth;
    /** @type {number} */
    ImageHeight;
    /** @type {number} */
    FileSizeKB;
    /** @type {string} */
    BlobUriRaw;
    /** @type {string} */
    BlobUriFull;
    /** @type {string} */
    BlobUriThumbnail;
    /** @type {string} */
    WatermarkUri;
    /** @type {string} */
    CapturedDate;
    /** @type {?string} */
    CapturedByContactId;
    /** @type {string} */
    CapturedByContactName;
    /** @type {string} */
    CapturedByContactThumbnailUrl;
    /** @type {string} */
    Notes;
    /** @type {string} */
    ResourceActionName;
    /** @type {string} */
    LocationVerified;
    /** @type {string} */
    TrafficLightLocationVerified;
    /** @type {string} */
    AudienceLevel;
    /** @type {string} */
    WorksFor;
}
export class ManagePrimaryImage {
    /** @param {{ContactIdOwner?:string,File?:MediaModel,ApplianceId?:string,ContainerName?:string,ConnectedObjectId?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The licensee's contact Id linked to the media file. */
    ContactIdOwner;
    /**
     * @type {MediaModel}
     * @description Primary image file to be uploaded including file type and content type. */
    File;
    /**
     * @type {string}
     * @description Appliance from which primary image file is to be uploaded. */
    ApplianceId;
    /**
     * @type {string}
     * @description Blob storage container to which primary image file is to be uploaded. */
    ContainerName;
    /**
     * @type {string}
     * @description Object for which primary image is to be uploaded. */
    ConnectedObjectId;
}

JavaScript ManagePrimaryImage DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/primaryimage HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	File: 
	{
		MediaName: String,
		FileContent: String,
		FileContentType: String,
		FilePath: String,
		OriginalFileName: String,
		ImageWidth: 0,
		ImageHeight: 0,
		FileSizeKB: 0,
		BlobUriRaw: String,
		BlobUriFull: String,
		BlobUriThumbnail: String,
		WatermarkUri: String,
		CapturedDate: 0001-01-01,
		CapturedByContactId: 00000000000000000000000000000000,
		CapturedByContactName: String,
		CapturedByContactThumbnailUrl: String,
		Notes: String,
		ResourceActionName: String,
		LocationVerified: String,
		AudienceLevel: String,
		WorksFor: String
	},
	ContainerName: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	MediaName: String,
	OriginalFileName: String,
	MediaFileUrl: String,
	MediaFileThumbnailUrl: String,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}