SupplierConnect Gateway API

<back to all web services

GetSchedules

Retrieve SupplierConnect schedule(s) by given ids. 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/schedules
GET/api/schedules/{Ids}
"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 GetSchedules {
    /** @param {{id?:string[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string[]}
     * @description Id or list of Ids of the schedule request(s) to be retrieved */
    id = [];
}

JavaScript GetSchedules 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/schedules 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
}