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}
import Foundation
import ServiceStack

/**
* Retrieve SupplierConnect schedule(s) by given ids. This will return SupplierConnect schedule request(s), and the associated other details such as statuses
*/
// @Api(Description="Retrieve SupplierConnect schedule(s) by given ids. This will return SupplierConnect schedule request(s), and the associated other details such as statuses")
public class GetSchedules : Codable
{
    /**
    * Id or list of Ids of the schedule request(s) to be retrieved
    */
    // @DataMember(Name="id")
    // @ApiMember(Description="Id or list of Ids of the schedule request(s) to be retrieved", IsRequired=true, Name="id")
    public var id:[String] = []

    required public init(){}
}

// @ApiResponse(Description="Returns the list of the schedule requests for the given list of Ids")
public class GetSchedulesResponse : Codable
{
    public var success:Bool
    public var message:String
    public var scheduleRequests:[ScheduleDetails]
    public var responseStatus:ResponseStatus
    public var lastRowVersion:String

    required public init(){}
}

public class ScheduleDetails : SupplierConnectSchedule
{
    public var referenceId:String
    public var index:Int
    public var statusId:String
    public var status:String
    public var statusMessage:String
    public var requestedBy:String
    public var requestedDate:Date?
    public var communicationId:String

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case referenceId
        case index
        case statusId
        case status
        case statusMessage
        case requestedBy
        case requestedDate
        case communicationId
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        referenceId = try container.decodeIfPresent(String.self, forKey: .referenceId)
        index = try container.decodeIfPresent(Int.self, forKey: .index)
        statusId = try container.decodeIfPresent(String.self, forKey: .statusId)
        status = try container.decodeIfPresent(String.self, forKey: .status)
        statusMessage = try container.decodeIfPresent(String.self, forKey: .statusMessage)
        requestedBy = try container.decodeIfPresent(String.self, forKey: .requestedBy)
        requestedDate = try container.decodeIfPresent(Date.self, forKey: .requestedDate)
        communicationId = try container.decodeIfPresent(String.self, forKey: .communicationId)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if referenceId != nil { try container.encode(referenceId, forKey: .referenceId) }
        if index != nil { try container.encode(index, forKey: .index) }
        if statusId != nil { try container.encode(statusId, forKey: .statusId) }
        if status != nil { try container.encode(status, forKey: .status) }
        if statusMessage != nil { try container.encode(statusMessage, forKey: .statusMessage) }
        if requestedBy != nil { try container.encode(requestedBy, forKey: .requestedBy) }
        if requestedDate != nil { try container.encode(requestedDate, forKey: .requestedDate) }
        if communicationId != nil { try container.encode(communicationId, forKey: .communicationId) }
    }
}

public class SupplierConnectSchedule : Codable
{
    public var requestId:String
    public var previousRequestId:String
    public var licenseeId:String
    public var licenseeName:String
    public var scheduleDateTime:Date
    public var requester:SupplierConnectContactInfo
    public var supplier:SupplierConnectContactInfo
    public var project:SupplierConnectProjectInfo
    public var purchaseOrder:SupplierConnectPurchaseOrderInfo
    public var activity:SupplierConnectActivityReference
    public var params:[SupplierConnectScheduleParams]
    public var attachments:[EmailAttachment]

    required public init(){}
}

public class SupplierConnectContactInfo : Codable
{
    public var id:String
    public var name:String
    public var email:String
    public var phone:String
    public var contactReference:SupplierConnectObjectReference

    required public init(){}
}

public class SupplierConnectObjectReference : Codable
{
    public var rmsTableContextId:String
    public var alternateKey:String
    public var dataSourceInstanceId:String

    required public init(){}
}

public class SupplierConnectProjectInfo : Codable
{
    public var id:String
    public var name:String
    public var reference:String
    public var Description:String
    public var address:String
    public var houseType:String
    public var elevation:String
    public var supervisor:SupplierConnectContactInfo
    public var customerName:String
    public var projectReference:SupplierConnectObjectReference

    required public init(){}
}

public class SupplierConnectPurchaseOrderInfo : Codable
{
    public var id:String
    public var reference:String
    public var Description:String
    public var projectId:String
    public var purchaseOrderReference:SupplierConnectObjectReference

    required public init(){}
}

public class SupplierConnectActivityReference : Codable
{
    public var name:String
    public var notes:String

    required public init(){}
}

public class SupplierConnectScheduleParams : Codable
{
    public var name:String
    public var value:String

    required public init(){}
}

public class EmailAttachment : Codable
{
    public var fileName:String
    public var contentType:String
    public var path:String
    public var url:String
    public var length:Int
    public var fileStream:Data
    public var streamContent:String
    public var attachmentType:AttachmentType
    public var processedAndUploadedAsBlob:Bool

    required public init(){}
}

public enum AttachmentType : String, Codable
{
    case Url
    case FileStream
}


Swift GetSchedules DTOs

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

HTTP + XML

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: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetSchedulesResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Dvaravartman.SupplierConnect.Model.APIModels">
  <LastRowVersion>String</LastRowVersion>
  <Message>String</Message>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
  <ScheduleRequests>
    <ScheduleDetails>
      <Activity xmlns="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">
        <Name>String</Name>
        <Notes>String</Notes>
      </Activity>
      <Attachments xmlns:d4p1="http://schemas.datacontract.org/2004/07/Eros.Saguna.Common.Library" xmlns="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">
        <d4p1:EmailAttachment>
          <d4p1:AttachmentType>Url</d4p1:AttachmentType>
          <d4p1:ContentType>String</d4p1:ContentType>
          <d4p1:FileName>String</d4p1:FileName>
          <d4p1:FileStream xmlns:d6p1="http://schemas.datacontract.org/2004/07/System.IO" i:nil="true" />
          <d4p1:Length>0</d4p1:Length>
          <d4p1:Path>String</d4p1:Path>
          <d4p1:ProcessedAndUploadedAsBlob>false</d4p1:ProcessedAndUploadedAsBlob>
          <d4p1:StreamContent>String</d4p1:StreamContent>
          <d4p1:Url>String</d4p1:Url>
        </d4p1:EmailAttachment>
      </Attachments>
      <LicenseeId xmlns="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">00000000-0000-0000-0000-000000000000</LicenseeId>
      <LicenseeName xmlns="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">String</LicenseeName>
      <Params xmlns="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">
        <SupplierConnectScheduleParams>
          <Name>String</Name>
          <Value>String</Value>
        </SupplierConnectScheduleParams>
      </Params>
      <PreviousRequestId xmlns="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">00000000-0000-0000-0000-000000000000</PreviousRequestId>
      <Project xmlns="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">
        <Address>String</Address>
        <CustomerName>String</CustomerName>
        <Description>String</Description>
        <Elevation>String</Elevation>
        <HouseType>String</HouseType>
        <Id>00000000-0000-0000-0000-000000000000</Id>
        <Name>String</Name>
        <ProjectReference>
          <AlternateKey>String</AlternateKey>
          <DataSourceInstanceId>00000000-0000-0000-0000-000000000000</DataSourceInstanceId>
          <RmsTableContextId>00000000-0000-0000-0000-000000000000</RmsTableContextId>
        </ProjectReference>
        <Reference>String</Reference>
        <Supervisor>
          <ContactReference>
            <AlternateKey>String</AlternateKey>
            <DataSourceInstanceId>00000000-0000-0000-0000-000000000000</DataSourceInstanceId>
            <RmsTableContextId>00000000-0000-0000-0000-000000000000</RmsTableContextId>
          </ContactReference>
          <Email>String</Email>
          <Id>00000000-0000-0000-0000-000000000000</Id>
          <Name>String</Name>
          <Phone>String</Phone>
        </Supervisor>
      </Project>
      <PurchaseOrder xmlns="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">
        <Description>String</Description>
        <Id>00000000-0000-0000-0000-000000000000</Id>
        <ProjectId>00000000-0000-0000-0000-000000000000</ProjectId>
        <PurchaseOrderReference>
          <AlternateKey>String</AlternateKey>
          <DataSourceInstanceId>00000000-0000-0000-0000-000000000000</DataSourceInstanceId>
          <RmsTableContextId>00000000-0000-0000-0000-000000000000</RmsTableContextId>
        </PurchaseOrderReference>
        <Reference>String</Reference>
      </PurchaseOrder>
      <RequestId xmlns="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">00000000-0000-0000-0000-000000000000</RequestId>
      <Requester xmlns="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">
        <ContactReference>
          <AlternateKey>String</AlternateKey>
          <DataSourceInstanceId>00000000-0000-0000-0000-000000000000</DataSourceInstanceId>
          <RmsTableContextId>00000000-0000-0000-0000-000000000000</RmsTableContextId>
        </ContactReference>
        <Email>String</Email>
        <Id>00000000-0000-0000-0000-000000000000</Id>
        <Name>String</Name>
        <Phone>String</Phone>
      </Requester>
      <ScheduleDateTime xmlns="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">0001-01-01T00:00:00</ScheduleDateTime>
      <Supplier xmlns="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">
        <ContactReference>
          <AlternateKey>String</AlternateKey>
          <DataSourceInstanceId>00000000-0000-0000-0000-000000000000</DataSourceInstanceId>
          <RmsTableContextId>00000000-0000-0000-0000-000000000000</RmsTableContextId>
        </ContactReference>
        <Email>String</Email>
        <Id>00000000-0000-0000-0000-000000000000</Id>
        <Name>String</Name>
        <Phone>String</Phone>
      </Supplier>
      <CommunicationId>00000000-0000-0000-0000-000000000000</CommunicationId>
      <Index>0</Index>
      <ReferenceId>00000000-0000-0000-0000-000000000000</ReferenceId>
      <RequestedBy>String</RequestedBy>
      <RequestedDate>0001-01-01T00:00:00</RequestedDate>
      <Status>String</Status>
      <StatusId>00000000-0000-0000-0000-000000000000</StatusId>
      <StatusMessage>String</StatusMessage>
    </ScheduleDetails>
  </ScheduleRequests>
  <Success>false</Success>
</GetSchedulesResponse>