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 = [];
}
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.
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 }