SupplierConnect Gateway API

<back to all web services

GetRequestActivity

Retrieves a list of activities of SupplierConnect schedule(s) for a given time window. This will return SupplierConnect schedule request(s), and the associated other details such as statuses

Requires Authentication
The following routes are available for this service:
GET/api/activity
GET/api/activity/{lastrowversion}
"use strict";
export class SupplierConnectObjectReference {
    /** @param {{RmsTableContextId?:string,AlternateKey?:string,DataSourceInstanceId?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    RmsTableContextId;
    /** @type {string} */
    AlternateKey;
    /** @type {string} */
    DataSourceInstanceId;
}
export class SupplierConnectContactInfo {
    /** @param {{Id?:string,Name?:string,Email?:string,Phone?:string,ContactReference?:SupplierConnectObjectReference}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Id;
    /** @type {string} */
    Name;
    /** @type {string} */
    Email;
    /** @type {string} */
    Phone;
    /** @type {SupplierConnectObjectReference} */
    ContactReference;
}
export class SupplierConnectProjectInfo {
    /** @param {{Id?:string,Name?:string,Reference?:string,Description?:string,Address?:string,HouseType?:string,Elevation?:string,Supervisor?:SupplierConnectContactInfo,CustomerName?:string,ProjectReference?:SupplierConnectObjectReference}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Id;
    /** @type {string} */
    Name;
    /** @type {string} */
    Reference;
    /** @type {string} */
    Description;
    /** @type {string} */
    Address;
    /** @type {string} */
    HouseType;
    /** @type {string} */
    Elevation;
    /** @type {SupplierConnectContactInfo} */
    Supervisor;
    /** @type {string} */
    CustomerName;
    /** @type {SupplierConnectObjectReference} */
    ProjectReference;
}
export class SupplierConnectPurchaseOrderInfo {
    /** @param {{Id?:string,Reference?:string,Description?:string,ProjectId?:string,PurchaseOrderReference?:SupplierConnectObjectReference}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Id;
    /** @type {string} */
    Reference;
    /** @type {string} */
    Description;
    /** @type {string} */
    ProjectId;
    /** @type {SupplierConnectObjectReference} */
    PurchaseOrderReference;
}
export class SupplierConnectActivityReference {
    /** @param {{Name?:string,Notes?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Name;
    /** @type {string} */
    Notes;
}
export class SupplierConnectScheduleParams {
    /** @param {{Name?:string,Value?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    Name;
    /** @type {string} */
    Value;
}
/** @typedef {'Url'|'FileStream'} */
export var AttachmentType;
(function (AttachmentType) {
    AttachmentType["Url"] = "Url"
    AttachmentType["FileStream"] = "FileStream"
})(AttachmentType || (AttachmentType = {}));
export class EmailAttachment {
    /** @param {{FileName?:string,ContentType?:string,Path?:string,Url?:string,Length?:number,FileStream?:string,StreamContent?:string,AttachmentType?:AttachmentType,ProcessedAndUploadedAsBlob?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    FileName;
    /** @type {string} */
    ContentType;
    /** @type {string} */
    Path;
    /** @type {string} */
    Url;
    /** @type {number} */
    Length;
    /** @type {string} */
    FileStream;
    /** @type {string} */
    StreamContent;
    /** @type {AttachmentType} */
    AttachmentType;
    /** @type {boolean} */
    ProcessedAndUploadedAsBlob;
}
export class SupplierConnectSchedule {
    /** @param {{RequestId?:string,PreviousRequestId?:string,LicenseeId?:string,LicenseeName?:string,ScheduleDateTime?:string,Requester?:SupplierConnectContactInfo,Supplier?:SupplierConnectContactInfo,Project?:SupplierConnectProjectInfo,PurchaseOrder?:SupplierConnectPurchaseOrderInfo,Activity?:SupplierConnectActivityReference,Params?:SupplierConnectScheduleParams[],Attachments?:EmailAttachment[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    RequestId;
    /** @type {string} */
    PreviousRequestId;
    /** @type {string} */
    LicenseeId;
    /** @type {string} */
    LicenseeName;
    /** @type {string} */
    ScheduleDateTime;
    /** @type {SupplierConnectContactInfo} */
    Requester;
    /** @type {SupplierConnectContactInfo} */
    Supplier;
    /** @type {SupplierConnectProjectInfo} */
    Project;
    /** @type {SupplierConnectPurchaseOrderInfo} */
    PurchaseOrder;
    /** @type {SupplierConnectActivityReference} */
    Activity;
    /** @type {SupplierConnectScheduleParams[]} */
    Params;
    /** @type {EmailAttachment[]} */
    Attachments;
}
export class ScheduleDetails extends SupplierConnectSchedule {
    /** @param {{ReferenceId?:string,Index?:number,StatusId?:string,Status?:string,StatusMessage?:string,RequestedBy?:string,RequestedDate?:string,CommunicationId?:string,RequestId?:string,PreviousRequestId?:string,LicenseeId?:string,LicenseeName?:string,ScheduleDateTime?:string,Requester?:SupplierConnectContactInfo,Supplier?:SupplierConnectContactInfo,Project?:SupplierConnectProjectInfo,PurchaseOrder?:SupplierConnectPurchaseOrderInfo,Activity?:SupplierConnectActivityReference,Params?:SupplierConnectScheduleParams[],Attachments?:EmailAttachment[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    ReferenceId;
    /** @type {number} */
    Index;
    /** @type {string} */
    StatusId;
    /** @type {string} */
    Status;
    /** @type {string} */
    StatusMessage;
    /** @type {string} */
    RequestedBy;
    /** @type {?string} */
    RequestedDate;
    /** @type {string} */
    CommunicationId;
}
export class GetSchedulesResponse {
    /** @param {{Success?:boolean,Message?:string,ScheduleRequests?:ScheduleDetails[],ResponseStatus?:ResponseStatus,LastRowVersion?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    Success;
    /** @type {string} */
    Message;
    /** @type {ScheduleDetails[]} */
    ScheduleRequests;
    /** @type {ResponseStatus} */
    ResponseStatus;
    /** @type {string} */
    LastRowVersion;
}
export class GetRequestActivity {
    /** @param {{LastRowVersion?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Row version of the last/latest record processed/returned in the previous request */
    LastRowVersion;
}

JavaScript GetRequestActivity 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.

GET /api/activity HTTP/1.1 
Host: production-eros-gateway-api-supplierconnect.azurewebsites.net 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Success: False,
	Message: String,
	ScheduleRequests: 
	[
		{
			Index: 0,
			Status: String,
			StatusMessage: String,
			RequestedBy: String,
			RequestedDate: 0001-01-01,
			LicenseeName: String,
			ScheduleDateTime: 0001-01-01,
			Requester: 
			{
				Name: String,
				Email: String,
				Phone: String,
				ContactReference: 
				{
					AlternateKey: String
				}
			},
			Supplier: 
			{
				Name: String,
				Email: String,
				Phone: String,
				ContactReference: 
				{
					AlternateKey: String
				}
			},
			Project: 
			{
				Name: String,
				Reference: String,
				Description: String,
				Address: String,
				HouseType: String,
				Elevation: String,
				Supervisor: 
				{
					Name: String,
					Email: String,
					Phone: String,
					ContactReference: 
					{
						AlternateKey: String
					}
				},
				CustomerName: String,
				ProjectReference: 
				{
					AlternateKey: String
				}
			},
			PurchaseOrder: 
			{
				Reference: String,
				Description: String,
				PurchaseOrderReference: 
				{
					AlternateKey: String
				}
			},
			Activity: 
			{
				Name: String,
				Notes: String
			},
			Params: 
			[
				{
					Name: String,
					Value: String
				}
			],
			Attachments: 
			[
				{
					FileName: String,
					ContentType: String,
					Path: String,
					Url: String,
					Length: 0,
					StreamContent: String,
					AttachmentType: Url,
					ProcessedAndUploadedAsBlob: False
				}
			]
		}
	],
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	LastRowVersion: String
}