Hmx Accounts

<back to all web services

CreatePurchaseOrder

The following routes are available for this service:
POST/api/purchaseordersCreate a new PurchaseOrder
namespace Hmx.Accounts.Models

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type PurchaseOrderItem() = 
        member val Id:Int32 = new Int32() with get,set
        [<References(typeof<PurchaseOrder>)>]
        member val PurchaseOrderId:Int32 = new Int32() with get,set

        [<References(typeof<Product>)>]
        member val ProductId:String = null with get,set

        member val ProductName:String = null with get,set
        member val Quantity:Int32 = new Int32() with get,set
        member val Price:Decimal = new Decimal() with get,set
        member val DiscountDescription:String = null with get,set
        member val DiscountSource:String = null with get,set
        member val Discount:Decimal = new Decimal() with get,set
        member val CreatedDate:DateTime = new DateTime() with get,set

    [<AllowNullLiteral>]
    type PurchaseOrderDto() = 
        member val Id:Int32 = new Int32() with get,set
        member val UserId:String = null with get,set
        member val CreatedDate:DateTime = new DateTime() with get,set
        member val PaymentType:String = null with get,set
        member val Void:Boolean = new Boolean() with get,set
        member val Paid:Boolean = new Boolean() with get,set
        member val TransactionIdentifier:String = null with get,set
        member val CouponCode:String = null with get,set
        member val OrderItems:ResizeArray<PurchaseOrderItem> = new ResizeArray<PurchaseOrderItem>() with get,set
        member val Payer:String = null with get,set
        member val BillingAddressLine1:String = null with get,set
        member val BillingAddressCity:String = null with get,set
        member val BillingAddressState:String = null with get,set
        member val BillingAddressPostalCode:String = null with get,set
        member val BillingAddressCountryCode:String = null with get,set

    [<AllowNullLiteral>]
    type Details() = 
        member val Code:String = null with get,set
        member val Field:String = null with get,set
        member val Issue:String = null with get,set

    [<AllowNullLiteral>]
    type CreatePurchaseOrderResponse() = 
        member val Message:String = null with get,set
        member val Status:HttpStatusCode = new HttpStatusCode() with get,set
        member val PurchaseOrder:PurchaseOrderDto = null with get,set
        member val Details:ResizeArray<Details> = new ResizeArray<Details>() with get,set

    [<AllowNullLiteral>]
    type PurchaseOrderItemDto() = 
        member val Id:Int32 = new Int32() with get,set
        member val PurchaseOrderId:Int32 = new Int32() with get,set
        member val ProductId:String = null with get,set
        member val ProductName:String = null with get,set
        member val Quantity:Int32 = new Int32() with get,set
        member val Price:Decimal = new Decimal() with get,set
        member val DiscountDescription:String = null with get,set
        member val DiscountSource:String = null with get,set
        member val Discount:Decimal = new Decimal() with get,set
        member val CreatedDate:DateTime = new DateTime() with get,set

    [<AllowNullLiteral>]
    type BillingInformationDto() = 
        member val CardNumber:String = null with get,set
        member val CardType:String = null with get,set
        member val ExpireMonth:Int32 = new Int32() with get,set
        member val ExpireYear:Int32 = new Int32() with get,set
        member val Cvv2:String = null with get,set
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val City:String = null with get,set
        member val CountryCode:String = null with get,set
        member val Line1:String = null with get,set
        member val PostalCode:String = null with get,set
        member val State:String = null with get,set

    [<AllowNullLiteral>]
    type CreatePurchaseOrder() = 
        member val UserId:String = null with get,set
        member val UserEmail:String = null with get,set
        member val CreatedDate:DateTime = new DateTime() with get,set
        member val Void:Boolean = new Boolean() with get,set
        member val CouponCode:String = null with get,set
        member val OrderItems:ResizeArray<PurchaseOrderItemDto> = new ResizeArray<PurchaseOrderItemDto>() with get,set
        member val PaymentType:String = null with get,set
        member val BillingInformationDto:BillingInformationDto = null with get,set

F# CreatePurchaseOrder DTOs

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

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/purchaseorders HTTP/1.1 
Host: accounts.dev.healthmonix.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"userId":"String","userEmail":"String","createdDate":"0001-01-01T00:00:00.0000000","void":false,"couponCode":"String","orderItems":[{"id":0,"purchaseOrderId":0,"productId":"String","productName":"String","quantity":0,"price":0,"discountDescription":"String","discountSource":"String","discount":0,"createdDate":"0001-01-01T00:00:00.0000000"}],"paymentType":"String","billingInformationDto":{"cardNumber":"String","cardType":"String","expireMonth":0,"expireYear":0,"cvv2":"String","firstName":"String","lastName":"String","city":"String","countryCode":"String","line1":"String","postalCode":"String","state":"String"}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"message":"String","status":"Continue","purchaseOrder":{"id":0,"userId":"String","createdDate":"0001-01-01T00:00:00.0000000","paymentType":"String","void":false,"paid":false,"transactionIdentifier":"String","couponCode":"String","orderItems":[{"id":0,"purchaseOrderId":0,"productId":"String","productName":"String","quantity":0,"price":0,"discountDescription":"String","discountSource":"String","discount":0,"createdDate":"0001-01-01T00:00:00.0000000"}],"payer":"String","billingAddressLine1":"String","billingAddressCity":"String","billingAddressState":"String","billingAddressPostalCode":"String","billingAddressCountryCode":"String"},"details":[{"code":"String","field":"String","issue":"String"}]}