| POST | /createOrder |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Oszz.Api.Models;
using BackOffice.Core;
namespace BackOffice.Core
{
public enum OrderItemState
{
Undefined,
Sold,
Refused,
InOrder,
InSupplierCart,
Purchased,
NotDistributed,
InCart,
Ready,
Distributed,
SupplierRefused,
Archived,
GivingOutScan,
InProcessing,
Return,
Returned,
RefusedByClient,
PurchasedBySupplier,
InParentCart,
InSupplierWebCart,
WorkInSupplierWebCart,
Deficit,
}
}
namespace Oszz.Api.Models
{
[DataContract]
public partial class CreateOrder
{
public CreateOrder()
{
GlobalIds = new long[]{};
}
[DataMember]
public virtual long[] GlobalIds { get; set; }
[DataMember]
public virtual Guid TokenId { get; set; }
}
[DataContract]
public partial class CreateOrderResponse
{
public CreateOrderResponse()
{
Result = new OrderItemModel[]{};
}
[DataMember]
public virtual ResponseStatus ResponseStatus { get; set; }
[DataMember]
public virtual OrderItemModel[] Result { get; set; }
}
[DataContract]
public partial class OrderItemModel
{
public OrderItemModel()
{
Motions = new OrderItemMotionModel[]{};
}
[DataMember]
public virtual Guid OrderItemId { get; set; }
[DataMember]
public virtual long GlobalId { get; set; }
[DataMember]
public virtual DateTime Date { get; set; }
[DataMember]
public virtual DateTime LastUpdate { get; set; }
[DataMember]
public virtual Guid ProductId { get; set; }
[DataMember]
public virtual string ProductNumber { get; set; }
[DataMember]
public virtual string ProductTitle { get; set; }
[DataMember]
public virtual string ManufacturerTitle { get; set; }
[DataMember]
public virtual Guid? ReplacementProductId { get; set; }
[DataMember]
public virtual string ReplacementProductNumber { get; set; }
[DataMember]
public virtual string ReplacementProductTitle { get; set; }
[DataMember]
public virtual string ReplacementManufacturerTitle { get; set; }
[DataMember]
public virtual int Quantity { get; set; }
[DataMember]
public virtual decimal Price { get; set; }
[DataMember]
public virtual decimal InitialPrice { get; set; }
[DataMember]
public virtual string Comment { get; set; }
[DataMember]
public virtual int ExpectedDeliveryDays { get; set; }
[DataMember]
public virtual int GuaranteedDeliveryDays { get; set; }
[DataMember]
public virtual DateTime? GuaranteedDeliveryTime { get; set; }
[DataMember]
public virtual DateTime? ExpectedDeliveryTime { get; set; }
[DataMember]
public virtual string PriceListLogo { get; set; }
[DataMember]
public virtual string Delivery { get; set; }
[DataMember]
public virtual bool IsCash { get; set; }
[DataMember]
public virtual DateTime? DeliveryDate { get; set; }
[DataMember]
public virtual bool PriceListUseSchedule { get; set; }
[DataMember]
public virtual Guid SupplierAliasId { get; set; }
[DataMember]
public virtual Guid? SubcustomerId { get; set; }
[DataMember]
public virtual bool? IsCashSubcustomer { get; set; }
[DataMember]
public virtual string SubcustomerLogo { get; set; }
[DataMember]
public virtual decimal? InitialSubcustomerPrice { get; set; }
[DataMember]
public virtual decimal? SubcustomerPrice { get; set; }
[DataMember]
public virtual OrderItemMotionModel[] Motions { get; set; }
}
[DataContract]
public partial class OrderItemMotionModel
{
[DataMember]
public virtual Guid MotionId { get; set; }
[DataMember]
public virtual Guid? ParentId { get; set; }
[DataMember]
public virtual OrderItemState State { get; set; }
[DataMember]
public virtual string StateTitle { get; set; }
[DataMember]
public virtual DateTime Date { get; set; }
[DataMember]
public virtual int InitialQuantity { get; set; }
[DataMember]
public virtual int Quantity { get; set; }
[DataMember]
public virtual DateTime? PlannedDeliveryDate { get; set; }
}
}
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.
POST /createOrder HTTP/1.1
Host: api.oszz.ru
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
globalIds:
[
0
],
tokenId: 00000000000000000000000000000000
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
},
result:
[
{
orderItemId: 00000000000000000000000000000000,
globalId: 0,
date: 0001-01-01,
lastUpdate: 0001-01-01,
productId: 00000000000000000000000000000000,
productNumber: String,
productTitle: String,
manufacturerTitle: String,
replacementProductId: 00000000000000000000000000000000,
replacementProductNumber: String,
replacementProductTitle: String,
replacementManufacturerTitle: String,
quantity: 0,
price: 0,
initialPrice: 0,
comment: String,
expectedDeliveryDays: 0,
guaranteedDeliveryDays: 0,
guaranteedDeliveryTime: 0001-01-01,
expectedDeliveryTime: 0001-01-01,
priceListLogo: String,
delivery: String,
isCash: False,
deliveryDate: 0001-01-01,
priceListUseSchedule: False,
supplierAliasId: 00000000000000000000000000000000,
subcustomerId: 00000000000000000000000000000000,
isCashSubcustomer: False,
subcustomerLogo: String,
initialSubcustomerPrice: 0,
subcustomerPrice: 0,
motions:
[
{
motionId: 00000000000000000000000000000000,
parentId: 00000000000000000000000000000000,
state: Undefined,
stateTitle: String,
date: 0001-01-01,
initialQuantity: 0,
quantity: 0,
plannedDeliveryDate: 0001-01-01
}
]
}
]
}