OSZZ API

<back to all web services

CreateOrder

The following routes are available for this service:
POST/createOrder
import Foundation
import ServiceStack

// @DataContract
public class CreateOrder : Codable
{
    // @DataMember
    public var globalIds:[Int] = []

    // @DataMember
    public var tokenId:String?

    required public init(){}
}

// @DataContract
public class CreateOrderResponse : Codable
{
    // @DataMember
    public var responseStatus:ResponseStatus?

    // @DataMember
    public var result:[OrderItemModel] = []

    required public init(){}
}

// @DataContract
public class OrderItemModel : Codable
{
    // @DataMember
    public var orderItemId:String?

    // @DataMember
    public var globalId:Int?

    // @DataMember
    public var date:Date?

    // @DataMember
    public var lastUpdate:Date?

    // @DataMember
    public var productId:String?

    // @DataMember
    public var productNumber:String?

    // @DataMember
    public var productTitle:String?

    // @DataMember
    public var manufacturerTitle:String?

    // @DataMember
    public var replacementProductId:String?

    // @DataMember
    public var replacementProductNumber:String?

    // @DataMember
    public var replacementProductTitle:String?

    // @DataMember
    public var replacementManufacturerTitle:String?

    // @DataMember
    public var quantity:Int?

    // @DataMember
    public var price:Double?

    // @DataMember
    public var initialPrice:Double?

    // @DataMember
    public var comment:String?

    // @DataMember
    public var expectedDeliveryDays:Int?

    // @DataMember
    public var guaranteedDeliveryDays:Int?

    // @DataMember
    public var guaranteedDeliveryTime:Date?

    // @DataMember
    public var expectedDeliveryTime:Date?

    // @DataMember
    public var priceListLogo:String?

    // @DataMember
    public var delivery:String?

    // @DataMember
    public var isCash:Bool?

    // @DataMember
    public var deliveryDate:Date?

    // @DataMember
    public var priceListUseSchedule:Bool?

    // @DataMember
    public var supplierAliasId:String?

    // @DataMember
    public var subcustomerId:String?

    // @DataMember
    public var isCashSubcustomer:Bool?

    // @DataMember
    public var subcustomerLogo:String?

    // @DataMember
    public var initialSubcustomerPrice:Double?

    // @DataMember
    public var subcustomerPrice:Double?

    // @DataMember
    public var motions:[OrderItemMotionModel] = []

    required public init(){}
}

// @DataContract
public class OrderItemMotionModel : Codable
{
    // @DataMember
    public var motionId:String?

    // @DataMember
    public var parentId:String?

    // @DataMember
    public var state:OrderItemState?

    // @DataMember
    public var stateTitle:String?

    // @DataMember
    public var date:Date?

    // @DataMember
    public var initialQuantity:Int?

    // @DataMember
    public var quantity:Int?

    // @DataMember
    public var plannedDeliveryDate:Date?

    required public init(){}
}

public enum OrderItemState : String, Codable
{
    case Undefined
    case Sold
    case Refused
    case InOrder
    case InSupplierCart
    case Purchased
    case NotDistributed
    case InCart
    case Ready
    case Distributed
    case SupplierRefused
    case Archived
    case GivingOutScan
    case InProcessing
    case Return
    case Returned
    case RefusedByClient
    case PurchasedBySupplier
    case InParentCart
    case InSupplierWebCart
    case WorkInSupplierWebCart
    case Deficit
}


Swift CreateOrder 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.

POST /createOrder HTTP/1.1 
Host: api.oszz.ru 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CreateOrder xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <GlobalIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:long>0</d2p1:long>
  </GlobalIds>
  <TokenId>00000000-0000-0000-0000-000000000000</TokenId>
</CreateOrder>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CreateOrderResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <ResponseStatus>
    <ErrorCode>String</ErrorCode>
    <Message>String</Message>
    <StackTrace>String</StackTrace>
    <Errors>
      <ResponseError>
        <ErrorCode>String</ErrorCode>
        <FieldName>String</FieldName>
        <Message>String</Message>
        <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>
        </Meta>
      </ResponseError>
    </Errors>
    <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>
    </Meta>
  </ResponseStatus>
  <Result>
    <OrderItemModel>
      <Comment>String</Comment>
      <Date>0001-01-01T00:00:00</Date>
      <Delivery>String</Delivery>
      <DeliveryDate>0001-01-01T00:00:00</DeliveryDate>
      <ExpectedDeliveryDays>0</ExpectedDeliveryDays>
      <ExpectedDeliveryTime>0001-01-01T00:00:00</ExpectedDeliveryTime>
      <GlobalId>0</GlobalId>
      <GuaranteedDeliveryDays>0</GuaranteedDeliveryDays>
      <GuaranteedDeliveryTime>0001-01-01T00:00:00</GuaranteedDeliveryTime>
      <InitialPrice>0</InitialPrice>
      <InitialSubcustomerPrice>0</InitialSubcustomerPrice>
      <IsCash>false</IsCash>
      <IsCashSubcustomer>false</IsCashSubcustomer>
      <LastUpdate>0001-01-01T00:00:00</LastUpdate>
      <ManufacturerTitle>String</ManufacturerTitle>
      <Motions>
        <OrderItemMotionModel>
          <Date>0001-01-01T00:00:00</Date>
          <InitialQuantity>0</InitialQuantity>
          <MotionId>00000000-0000-0000-0000-000000000000</MotionId>
          <ParentId>00000000-0000-0000-0000-000000000000</ParentId>
          <PlannedDeliveryDate>0001-01-01T00:00:00</PlannedDeliveryDate>
          <Quantity>0</Quantity>
          <State>Undefined</State>
          <StateTitle>String</StateTitle>
        </OrderItemMotionModel>
      </Motions>
      <OrderItemId>00000000-0000-0000-0000-000000000000</OrderItemId>
      <Price>0</Price>
      <PriceListLogo>String</PriceListLogo>
      <PriceListUseSchedule>false</PriceListUseSchedule>
      <ProductId>00000000-0000-0000-0000-000000000000</ProductId>
      <ProductNumber>String</ProductNumber>
      <ProductTitle>String</ProductTitle>
      <Quantity>0</Quantity>
      <ReplacementManufacturerTitle>String</ReplacementManufacturerTitle>
      <ReplacementProductId>00000000-0000-0000-0000-000000000000</ReplacementProductId>
      <ReplacementProductNumber>String</ReplacementProductNumber>
      <ReplacementProductTitle>String</ReplacementProductTitle>
      <SubcustomerId>00000000-0000-0000-0000-000000000000</SubcustomerId>
      <SubcustomerLogo>String</SubcustomerLogo>
      <SubcustomerPrice>0</SubcustomerPrice>
      <SupplierAliasId>00000000-0000-0000-0000-000000000000</SupplierAliasId>
    </OrderItemModel>
  </Result>
</CreateOrderResponse>