# Create Or Update SalesOrder

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /v2/salesorder:
    post:
      summary: Create Or Update SalesOrder
      deprecated: false
      description: สร้าง แก้ไขใบออเดอร์
      tags:
        - Venio/SalesOrder
      parameters:
        - name: Content-Type
          in: header
          description: ''
          required: true
          example: application/json
          schema:
            type: string
        - name: Ocp-Apim-Subscription-Key
          in: header
          description: รหัส subscription key ลูกค้า
          required: true
          example: <Your Subscription-Key>
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                salesOrderSubject:
                  type: string
                  description: หัวเรื่องใบออเดอร์ Required
                salesOrderNo:
                  type: string
                  description: เลขใบออเดอร์ (*ถ้าไม่มีการใส่เลขมาเท่ากับการสร้าง)
                salesOrderDate:
                  type: string
                  description: 'วันที่ออเดอร์ Required โดยมี Format : "YYYY-MM-DD"'
                referenceNo:
                  type: string
                  description: เลขที่อ้างอิง
                customerCode:
                  type: string
                  description: >-
                    รหัสลูกค้า Required [ตอน Update SalesOrder ไม่สามารถเปลี่ยน
                    Customer ได้]
                contactId:
                  type: integer
                  description: ' รหัสผู้ติดต่อ'
                  nullable: true
                recipientName:
                  type: string
                  description: ชื่อผู้รับสินค้า
                  nullable: true
                recipientAddress:
                  type: string
                  description: ที่อยู่จัดส่งสินค้า
                headerTemplateId:
                  type: integer
                  description: >-
                    หัวเอกสารใน PDF [ถ้าไม่ส่งค่ามาให้เท่ากับ header default
                    company]
                  nullable: true
                salesOrderDetails:
                  type: array
                  items:
                    type: object
                    properties:
                      productCode:
                        type: string
                        description: รหัสสินค้า Required
                      productName:
                        type: string
                        description: ' ชื่อสินค้าที่ต้องการกำหนด [null = ชื่อสินค้าตามในระบบ]'
                        nullable: true
                      price:
                        type: number
                        description: ' ราคาสินค้าที่ต้องการกำหนด [null = ราคาสินค้าตามในระบบ]'
                        nullable: true
                      qty:
                        type: integer
                        description: >-
                          จำนวนสินค้า (*กรอกจำนวนได้ไม่เกินสินค้าที่มีใน stock
                          จนกว่าจะมีการเปิด Permission บน Web)
                      productUnitName:
                        type: string
                        description: >-
                          หน่วยสินค้า [null = หน่วยสินค้าตามในระบบ] (*ถ้าใส่ค่า
                          Unit ไม่ตรงกับระบบ ให้ error)
                        nullable: true
                      productDescription:
                        type: string
                        description: รายละเอียดสินค้า [null = ราคาละเอียดสินค้าตามในระบบ]
                        nullable: true
                      discountValue:
                        type: number
                        description: >-
                          ส่วนลดสินค้า (*ตัว Discount ต้องมีค่าไม่เกิน
                          ราคาของสินค้านั้น)
                          ถ้าการตั้งค่าชนิดส่วนลดของบริษัทเป็นต่อรายการ
                          จะเป็นส่วนลดของทั้งสินค้าชินนี้
                          แต่หากการตั้งค่าชนิดส่วนลดของบริษัทเป็นต่อหน่วย
                          จะเป็นส่วนลดของสินค้าต่อหน่วย
                        nullable: true
                      discountType:
                        type: boolean
                        description: ' ประเภทส่วนลด true = percentage false = amount (*ระบบจะ required เมื่อมีการใส่ discountValue)'
                        nullable: true
                      vatTaxValue:
                        type: number
                        description: ' ภาษีมูลค่าเพิ่ม(%) (*ถ้าไม่มีอยู่ในระบบ ให้สร้างใหม่ กรณี inactive ระบบ จะแสดง error) [ถ้าส่ง Null มา ระบบจะ Set เป็น No Vat]'
                        nullable: true
                      whtTaxValue:
                        type: number
                        description: >-
                          ภาษีหัก ณ ที่จ่าย(%) (*ถ้าไม่มีอยู่ในระบบ จะแสดง
                          error) [ถ้าส่ง Null มา ระบบจะ Set เป็น none]
                        nullable: true
                      isShipping:
                        type: boolean
                        description: สินค้ามีการจัดส่งหรือไม่
                        nullable: true
                    required:
                      - productCode
                      - qty
                    x-apidog-orders:
                      - productCode
                      - productName
                      - price
                      - qty
                      - productUnitName
                      - productDescription
                      - discountValue
                      - discountType
                      - vatTaxValue
                      - whtTaxValue
                      - isShipping
                    x-apidog-ignore-properties: []
                  description: รายการสินค้า
                vatCalculation:
                  type: boolean
                  description: >-
                    การคำนวณภาษีมูลค่าเพิ่ม Required [true =
                    ไม่รวมภาษีมูลค่าเพิ่ม false = รวมภาษีมูลค่าเพิ่ม]
                discountName:
                  type: string
                  description: ชื่อส่วนลดสินค้า
                  nullable: true
                discountValue:
                  type: number
                  description: >-
                    ส่วนลดสินค้า (*ตัว Discount ต้องมีค่าไม่เกิน
                    ราคาของสินค้าทั้งหมด)
                  nullable: true
                discountType:
                  type: boolean
                  description: >-
                    ประเภทส่วนลด [true = percentage false = amount]  (*ระบบจะ
                    required เมื่อมีการใส่ discountValue)
                  nullable: true
                paymentTerm:
                  type: string
                  description: เงื่อนไขการชำระเงิน
                  nullable: true
                remark:
                  type: string
                  description: หมายเหตุใบออเดอร์
                  nullable: true
                staffCode:
                  type: string
                  description: รหัสพนักงานขาย
                salesOrderStatus:
                  type: integer
                  description: >-
                    <p>สถานะใบออเดอร์ [<br>1 = draft <br>2 = open <br> 3 =
                    completed <br>4 = rejected<br> 5 = cancelled]</p>
                privateNote:
                  type: string
                  description: รายละเอียดเพิ่มเติม
                  nullable: true
                salesOrderNote:
                  type: string
                  deprecated: true
                  description: รายละเอียดเพิ่มเติม (ไปใช้ field privateNote แทน)
                  nullable: true
                currencyCode:
                  type: string
                  description: ' สกุลเงิน เช่น "THB" , "USD" [ถ้าไม่ส่ง หรือ null ระบบจะหยิบ System Currency ของ Company นั้นๆให้]'
                  nullable: true
                payment:
                  type: object
                  properties:
                    valueType:
                      type: integer
                      enum:
                        - 1
                        - 2
                      description: ประเภทของยอดชำระ ( 1 สกุลเงิน หรือ 2 เปอร์เซ็นต์)
                      x-apidog-enum:
                        - name: ''
                          value: 1
                          description: currency
                        - name: ''
                          value: 2
                          description: percent
                    schedulePayments:
                      type: object
                      properties:
                        installmentNumber:
                          type: integer
                          description: งวดชำระ (เรียงจากน้อยไปมาก)
                        installmentAmount:
                          type: number
                          description: ยอดชำระ
                        installmentPercent:
                          type: number
                          description: ยอดชำระ (เปอร์เซ็นต์)
                      x-apidog-orders:
                        - installmentNumber
                        - installmentAmount
                        - installmentPercent
                      required:
                        - installmentNumber
                        - installmentAmount
                        - installmentPercent
                      x-apidog-ignore-properties: []
                  x-apidog-orders:
                    - valueType
                    - schedulePayments
                  required:
                    - schedulePayments
                  x-apidog-ignore-properties: []
                customerAddressId:
                  type: number
                  description: ที่อยู่ลูกค้า
                  nullable: true
                warehouseCode:
                  type: string
                  description: รหัสคลังสินค้าของ Sale Order
                  nullable: true
              required:
                - salesOrderSubject
                - salesOrderDate
                - customerCode
                - salesOrderDetails
                - vatCalculation
                - staffCode
                - salesOrderStatus
                - payment
              x-apidog-orders:
                - salesOrderSubject
                - salesOrderNo
                - salesOrderDate
                - referenceNo
                - customerCode
                - contactId
                - recipientName
                - recipientAddress
                - headerTemplateId
                - salesOrderDetails
                - vatCalculation
                - discountName
                - discountValue
                - discountType
                - paymentTerm
                - remark
                - staffCode
                - salesOrderStatus
                - privateNote
                - salesOrderNote
                - currencyCode
                - payment
                - customerAddressId
                - warehouseCode
              x-apidog-ignore-properties: []
            example: |-
              {
                "salesOrderSubject": "string", //หัวเรื่องใบสั่งขาย Required
                "salesOrderNo": "string", // เลขใบสั่งขาย (*ถ้าไม่มีการใส่เลขมาเท่ากับการสร้าง)
                "salesOrderDate": "2023-01-26", //วันที่สั่งขาย Required โดยมี Format : "YYYY-MM-DD"
                "referenceNo": "string", // เลขที่อ้างอิง
                "customerCode": "string", // รหัสลูกค้า Required [ตอน Update SalesOrder ไม่สามารถเปลี่ยน Customer ได้]
                "contactId": 0, // รหัสผู้ติดต่อ
                "recipientName": "test", // ชื่อผู้รับสินค้า
                "recipientAddress": "test", // ที่อยู่จัดส่งสินค้า
                "headerTemplateId": 1, // หัวเอกสารใน PDF [ถ้าไม่ส่งค่ามาให้เท่ากับ header default company]
                "salesOrderDetails": [
                  {
                    "productCode": "string", // รหัสสินค้า Required
                    "productName": "string", // ชื่อสินค้าที่ต้องการกำหนด [null = ชื่อสินค้าตามในระบบ]
                    "price": 10, // ราคาสินค้าที่ต้องการกำหนด [null = ราคาสินค้าตามในระบบ]
                    "qty": 1, // จำนวนสินค้า (*กรอกจำนวนได้ไม่เกินสินค้าที่มีใน stock จนกว่าจะมีการเปิด Permission บน Web)
                    "productUnitName": "", // หน่วยสินค้า [null = หน่วยสินค้าตามในระบบ] (*ถ้าใส่ค่า Unit ไม่ตรงกับระบบ ให้ error)
                    "productDescription": "", // รายละเอียดสินค้า [null = ราคาละเอียดสินค้าตามในระบบ]
                    "discountValue": 2.0, // ส่วนลดสินค้า (*ตัว Discount ต้องมีค่าไม่เกิน ราคาของสินค้านั้น)
                    "discountType": true, // ประเภทส่วนลด true = percentage false = amount (*ระบบจะ required เมื่อมีการใส่ discountValue)
                    "vatTaxValue": 3.0, // ภาษีมูลค่าเพิ่ม(%) (*ถ้าไม่มีอยู่ในระบบ ให้สร้างใหม่ กรณี inactive ระบบ จะแสดง error) [ถ้าส่ง Null มา ระบบจะ Set เป็น No Vat]
                    "whtTaxValue": 3.0, // ภาษีหัก ณ ที่จ่าย(%) (*ถ้าไม่มีอยู่ในระบบ จะแสดง error) [ถ้าส่ง Null มา ระบบจะ Set เป็น none]
                    "isShipping": false //สินค้ามีการจัดส่งหรือไม่
                  }
                ], // รายการสินค้าในใบสั่งขาย Required
                "vatCalculation": true, // การคำนวณภาษีมูลค่าเพิ่ม Required [true = ไม่รวมภาษีมูลค่าเพิ่ม false = รวมภาษีมูลค่าเพิ่ม]
                "discountName": "just for test", // ชื่อส่วนลดสินค้า
                "discountValue": 8.0, // ส่วนลดสินค้า (*ตัว Discount ต้องมีค่าไม่เกิน ราคาของสินค้าทั้งหมด)
                "discountType": true, // ประเภทส่วนลด [true = percentage false = amount]  (*ระบบจะ required เมื่อมีการใส่ discountValue)
                "paymentTerm": "string", // เงื่อนไขการชำระเงิน
                "remark": "string", // หมายเหตุใบสั่งขาย
                "staffCode": "string", // รหัสพนักงานขาย
                "salesOrderStatus": 2, // สถานะใบสั่งขาย [1 = draft 2 = open 3 = completed 4 = rejected 5 = cancelled]
                "privateNote": "string", // รายละเอียดเพิ่มเติม
                "currencyCode": "string", // สกุลเงิน เช่น "THB" , "USD" [ถ้าไม่ส่ง หรือ null ระบบจะหยิบ System Currency ของ Company นั้นๆให้]
                "payment": {
                  "valueType": 1, //ประเภทยอดชำระ (จำนวนเงิน , เปอร์เซ็นต์)
                  "schedulePayments": [
                    {
                      "installmentNumber": 1, //ช่วงชำระ (รอบ)
                      "installmentAmount": 10.0, //จำนวนเงิน
                      "installmentPercent": 50.0 //เปอร์เซ็นต์
                    },
                    {
                      "installmentNumber": 2, //ช่วงชำระ (รอบ)
                      "installmentAmount": 10.0, //จำนวนเงิน
                      "installmentPercent": 50.0 //เปอร์เซ็นต์
                    }
                  ]
                },
                "warehouseCode": "WH001"
              }
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: object
                    properties:
                      code:
                        type: string
                      description:
                        type: string
                    required:
                      - code
                      - description
                    x-apidog-orders:
                      - code
                      - description
                    x-apidog-ignore-properties: []
                  data:
                    type: object
                    properties:
                      salesOrderSubject:
                        type: string
                      salesOrderNo:
                        type: string
                      salesOrderStatus:
                        type: integer
                      salesOrderDate:
                        type: string
                      referenceNo:
                        type: string
                      customerCode:
                        type: string
                      contactId:
                        type: integer
                      recipientName:
                        type: string
                      recipientAddress:
                        type: string
                      headerTemplateId:
                        type: integer
                      salesorderDetails:
                        type: array
                        items:
                          type: object
                          properties:
                            productCode:
                              type: string
                            productName:
                              type: string
                            price:
                              type: integer
                            qty:
                              type: integer
                            productUnitName:
                              type: string
                            productDescription:
                              type: string
                            discountValue:
                              type: integer
                            discountType:
                              type: boolean
                            vatTaxValue:
                              type: integer
                            whtTaxValue:
                              type: integer
                            totalPrice:
                              type: number
                          x-apidog-orders:
                            - productCode
                            - productName
                            - price
                            - qty
                            - productUnitName
                            - productDescription
                            - discountValue
                            - discountType
                            - vatTaxValue
                            - whtTaxValue
                            - totalPrice
                          x-apidog-ignore-properties: []
                      discountName:
                        type: string
                      discountValue:
                        type: integer
                      discountType:
                        type: boolean
                      paymentTerm:
                        type: string
                      remark:
                        type: string
                      staffCode:
                        type: string
                      privateNote:
                        type: string
                      currencyCode:
                        type: string
                      vatCalculation:
                        type: boolean
                      subTotal:
                        type: number
                      subTotalWithDiscount:
                        type: number
                      totalVat:
                        type: number
                      grandTotal:
                        type: number
                      payment:
                        type: object
                        properties:
                          valueType:
                            type: integer
                          schedulePayments:
                            type: array
                            items:
                              type: object
                              properties:
                                installmentNumber:
                                  type: integer
                                installmentAmount:
                                  type: integer
                                installmentPercent:
                                  type: integer
                              required:
                                - installmentNumber
                                - installmentAmount
                                - installmentPercent
                              x-apidog-orders:
                                - installmentNumber
                                - installmentAmount
                                - installmentPercent
                              x-apidog-ignore-properties: []
                        required:
                          - valueType
                          - schedulePayments
                        x-apidog-orders:
                          - valueType
                          - schedulePayments
                        x-apidog-ignore-properties: []
                    required:
                      - salesOrderSubject
                      - salesOrderNo
                      - salesOrderStatus
                      - salesOrderDate
                      - referenceNo
                      - customerCode
                      - contactId
                      - recipientName
                      - recipientAddress
                      - headerTemplateId
                      - salesorderDetails
                      - discountName
                      - discountValue
                      - discountType
                      - paymentTerm
                      - remark
                      - staffCode
                      - privateNote
                      - currencyCode
                      - vatCalculation
                      - subTotal
                      - subTotalWithDiscount
                      - totalVat
                      - grandTotal
                      - payment
                    x-apidog-orders:
                      - salesOrderSubject
                      - salesOrderNo
                      - salesOrderStatus
                      - salesOrderDate
                      - referenceNo
                      - customerCode
                      - contactId
                      - recipientName
                      - recipientAddress
                      - headerTemplateId
                      - salesorderDetails
                      - discountName
                      - discountValue
                      - discountType
                      - paymentTerm
                      - remark
                      - staffCode
                      - privateNote
                      - currencyCode
                      - vatCalculation
                      - subTotal
                      - subTotalWithDiscount
                      - totalVat
                      - grandTotal
                      - payment
                    x-apidog-ignore-properties: []
                required:
                  - status
                  - data
                x-apidog-orders:
                  - status
                  - data
                x-apidog-ignore-properties: []
          headers: {}
          x-apidog-name: Update
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: object
                    properties:
                      code:
                        type: string
                      description:
                        type: string
                    required:
                      - code
                      - description
                    x-apidog-orders:
                      - code
                      - description
                    x-apidog-ignore-properties: []
                  data:
                    type: object
                    properties:
                      salesOrderSubject:
                        type: string
                      salesOrderNo:
                        type: string
                      salesOrderStatus:
                        type: integer
                      salesOrderDate:
                        type: string
                      referenceNo:
                        type: string
                      customerCode:
                        type: string
                      contactId:
                        type: integer
                      recipientName:
                        type: string
                      recipientAddress:
                        type: string
                      headerTemplateId:
                        type: integer
                      warehouseCode:
                        type: string
                        description: รหัสคลังสินค้า
                      salesorderDetails:
                        type: array
                        items:
                          type: object
                          properties:
                            productCode:
                              type: string
                            productName:
                              type: string
                            price:
                              type: integer
                            qty:
                              type: integer
                            productUnitName:
                              type: string
                            productDescription:
                              type: string
                            discountValue:
                              type: integer
                              description: >-
                                เมื่อ DiscountBasisType = 360002 (ต่อหน่วย)
                                จะเป็นส่วนลดต่อหน่วย, เมื่อ = 360001 (ต่อรายการ)
                                จะเป็นส่วนลดของทั้งบรรทัด
                            discountType:
                              type: boolean
                            vatTaxValue:
                              type: integer
                            whtTaxValue:
                              type: integer
                            totalPrice:
                              type: number
                            discountBasisType:
                              type: number
                              enum:
                                - 360001
                                - 360002
                              x-apidog-enum:
                                - value: 360001
                                  name: PerItem
                                  description: คิดส่วนลดแบบต่อรายการ/ทั้งบรรทัด
                                - value: 360002
                                  name: PerUnit
                                  description: คิดส่วนลดแบบต่อหน่วย)
                          x-apidog-orders:
                            - productCode
                            - productName
                            - price
                            - qty
                            - productUnitName
                            - productDescription
                            - discountValue
                            - discountType
                            - vatTaxValue
                            - whtTaxValue
                            - totalPrice
                            - discountBasisType
                          required:
                            - discountBasisType
                          x-apidog-ignore-properties: []
                      discountName:
                        type: string
                      discountValue:
                        type: integer
                      discountType:
                        type: boolean
                      paymentTerm:
                        type: string
                      remark:
                        type: string
                      staffCode:
                        type: string
                      privateNote:
                        type: string
                      currencyCode:
                        type: string
                      vatCalculation:
                        type: boolean
                      subTotal:
                        type: number
                      subTotalWithDiscount:
                        type: number
                      totalVat:
                        type: number
                      grandTotal:
                        type: number
                      payment:
                        type: object
                        properties:
                          valueType:
                            type: integer
                          schedulePayments:
                            type: array
                            items:
                              type: object
                              properties:
                                installmentNumber:
                                  type: integer
                                installmentAmount:
                                  type: integer
                                installmentPercent:
                                  type: integer
                              required:
                                - installmentNumber
                                - installmentAmount
                                - installmentPercent
                              x-apidog-orders:
                                - installmentNumber
                                - installmentAmount
                                - installmentPercent
                              x-apidog-ignore-properties: []
                        required:
                          - valueType
                          - schedulePayments
                        x-apidog-orders:
                          - valueType
                          - schedulePayments
                        x-apidog-ignore-properties: []
                    required:
                      - salesOrderSubject
                      - salesOrderNo
                      - salesOrderStatus
                      - salesOrderDate
                      - referenceNo
                      - customerCode
                      - contactId
                      - recipientName
                      - recipientAddress
                      - headerTemplateId
                      - warehouseCode
                      - salesorderDetails
                      - discountName
                      - discountValue
                      - discountType
                      - paymentTerm
                      - remark
                      - staffCode
                      - privateNote
                      - currencyCode
                      - vatCalculation
                      - subTotal
                      - subTotalWithDiscount
                      - totalVat
                      - grandTotal
                      - payment
                    x-apidog-orders:
                      - salesOrderSubject
                      - salesOrderNo
                      - salesOrderStatus
                      - salesOrderDate
                      - referenceNo
                      - customerCode
                      - contactId
                      - recipientName
                      - recipientAddress
                      - headerTemplateId
                      - warehouseCode
                      - salesorderDetails
                      - discountName
                      - discountValue
                      - discountType
                      - paymentTerm
                      - remark
                      - staffCode
                      - privateNote
                      - currencyCode
                      - vatCalculation
                      - subTotal
                      - subTotalWithDiscount
                      - totalVat
                      - grandTotal
                      - payment
                    x-apidog-ignore-properties: []
                required:
                  - status
                  - data
                x-apidog-orders:
                  - status
                  - data
                x-apidog-ignore-properties: []
              examples:
                '1':
                  summary: Created (201)
                  value:
                    status:
                      code: '1000'
                      description: Success
                    data:
                      salesOrderSubject: string
                      salesOrderNo: string
                      salesOrderStatus: 2
                      salesOrderDate: 2023-01-26T00:00:00+0700
                      referenceNo: string
                      customerCode: string
                      contactId: 1
                      recipientName: string
                      recipientAddress: string
                      headerTemplateId: 1
                      warehouseCode: WH001
                      salesorderDetails:
                        - productCode: string
                          productName: string
                          price: 10
                          qty: 1
                          productUnitName: อัน
                          productDescription: ''
                          discountValue: 2
                          discountType: true
                          vatTaxValue: 3
                          whtTaxValue: 3
                          totalPrice: 9.8
                      discountName: string
                      discountValue: 8
                      discountType: true
                      paymentTerm: string
                      remark: string
                      staffCode: string
                      privateNote: string
                      currencyCode: string
                      vatCalculation: true
                      subTotal: 9.8
                      subTotalWithDiscount: 9.02
                      totalVat: 0.27
                      grandTotal: 9.2906
                      payment:
                        valueType: 1
                        schedulePayments:
                          - installmentNumber: 1
                            installmentAmount: 10
                            installmentPercent: 50
                          - installmentNumber: 2
                            installmentAmount: 10
                            installmentPercent: 50
                '2':
                  summary: Update (200)
                  value: |-
                    {
                        "status": {
                            "code": "1000",
                            "description": "Success"
                        },
                        "data": {
                            "salesOrderSubject": "string",
                            "salesOrderNo": "string",
                            "salesOrderStatus": 2,
                            "salesOrderDate": "2023-01-26T00:00:00+0700",
                            "referenceNo": "string",
                            "customerCode": "string",
                            "contactId": 1,
                            "recipientName": "string",
                            "recipientAddress": "string",
                            "headerTemplateId": 1,
                            "salesorderDetails": [
                                {
                                    "productCode": "string",
                                    "productName": "string",
                                    "price": 10,
                                    "qty": 1,
                                    "productUnitName": "อัน",
                                    "productDescription": "",
                                    "discountValue": 2,
                                    "discountType": true,
                                    "vatTaxValue": 3,
                                    "whtTaxValue": 3,
                                    "totalPrice": 9.8
                                }
                            ],
                            "discountName": "string",
                            "discountValue": 8,
                            "discountType": true,
                            "paymentTerm": "string",
                            "remark": "string",
                            "staffCode": "string",
                            "privateNote": "string",
                            "currencyCode": "string",
                            "vatCalculation": true,
                            "subTotal": 9.8,
                            "subTotalWithDiscount": 9.02,
                            "totalVat": 0.27,
                            "grandTotal": 9.2906,
                            "payment": {
                                "valueType": 1,
                                "schedulePayments": [
                                    {
                                        "installmentNumber": 1,
                                        "installmentAmount": 10.0,
                                        "installmentPercent": 50.0
                                    },
                                    {
                                        "installmentNumber": 2,
                                        "installmentAmount": 10.0,
                                        "installmentPercent": 50.0
                                    },
                                ]
                            },
                        }
                    }
                '3':
                  summary: Bad Request (400)
                  value:
                    errors:
                      salesorderDetails:
                        - The SalesorderDetails field is required.
                    status: 400
                '4':
                  summary: Unauthorized (401)
                  value:
                    statusCode: 401
                    message: >-
                      Access denied due to invalid subscription key. Make sure
                      to provide a valid key for an active subscription.
                '5':
                  summary: Forbidden (403)
                  value:
                    status:
                      code: '4001'
                      description: Business error with 1 or more errors
                    data:
                      errors:
                        - subCode: E9503
                          description: Invalid acces rights
          headers: {}
          x-apidog-name: Created
        '400':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: object
                    properties:
                      item:
                        type: array
                        items:
                          type: string
                          nullable: true
                        description: ชื่อfieldเปลี่ยนตามfieldที่พบerrors
                        nullable: true
                    x-apidog-orders:
                      - item
                    description: รายการที่เกิดerror
                    x-apidog-ignore-properties: []
                  status:
                    type: integer
                    description: >-
                      <p>สถานะ status ของ httpเช่น<br>200 Ok<br>201
                      Created<br>400 BadRequest<br>401 Unauthorized<br>404
                      Record not found<br>500 Internal Server Error</p>
                x-apidog-orders:
                  - errors
                  - status
                required:
                  - errors
                  - status
                x-apidog-ignore-properties: []
          headers: {}
          x-apidog-name: Bad Request
        '401':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: integer
                    description: >-
                      <p>สถานะ statusCode ของ httpเช่น<br>200 Ok<br>201
                      Created<br>400 BadRequest<br>401 Unauthorized<br>404
                      Record not found<br>500 Internal Server Error</p>
                  message:
                    type: string
                    description: คำบรรยาย error
                x-apidog-orders:
                  - statusCode
                  - message
                required:
                  - statusCode
                  - message
                x-apidog-ignore-properties: []
          headers: {}
          x-apidog-name: Unauthorized
        '403':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: object
                    properties:
                      code:
                        type: string
                        description: "<p>สถานะของ\_Business\_Code\_ถ้า<br>Success\_=\_1000<br>Error\_1\_ตัว\_=\_4001<br>Error\_มากกว่า\_1\_ตัว\_=\_4002\_\_\_\_<br>หรือเป็น\_Subcode\_ที่ต้องการจะแสดงเพื่อสื่อความหมายของ\_Error\_โดย\_subcode\_จะเป็นตัวเดียวกับ\_business\_error\_code\_หรือไม่ก็ได้\_เพื่อความสะดวกในการแสดงผล<p>"
                      description:
                        type: string
                        description: คำอธิบายข้อความที่จะแสดง
                    x-apidog-orders:
                      - code
                      - description
                    required:
                      - code
                      - description
                    x-apidog-ignore-properties: []
                  data:
                    type: object
                    properties:
                      errors:
                        type: array
                        items:
                          type: object
                          properties:
                            'subCode ':
                              type: string
                              description: >-
                                เป็น Subcode
                                ที่ต้องการจะแสดงเพื่อมีความหมายสำหรับ Module
                                ของเจ้าของในการดู Error โดย subcode
                                จะเป็นตัวเดียวกับ business erroe code
                                หรือไม่ก็ได้ เพื่อความสะดวกในการแสดงผล
                            description:
                              type: string
                              description: คำอธิบายข้อความที่จะแสดง
                          x-apidog-orders:
                            - 'subCode '
                            - description
                          required:
                            - 'subCode '
                            - description
                          x-apidog-ignore-properties: []
                        description: >-
                          เป็นส่วนแสดงผล Error
                          ที่พบว่ามีจำนวนกี่ชุดก็ได้ไม่จำกัดเพื่อความสะดวกในการจัดการกับ
                          Error
                    x-apidog-orders:
                      - errors
                    required:
                      - errors
                    description: >-
                      ข้อมูลที่จะแสดง ไม่จำกัดรูปแบบว่าจะเป็นเช่นไร
                      ตอนเรียกออกมาสามารเป็น Array และ Object ได้
                    x-apidog-ignore-properties: []
                x-apidog-orders:
                  - status
                  - data
                required:
                  - status
                  - data
                x-apidog-ignore-properties: []
          headers: {}
          x-apidog-name: Forbidden
        x-200:User authentication required V2.:
          description: ''
          content:
            application/json:
              schema:
                title: ''
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Required%20authorization'
                  status:
                    $ref: '#/components/schemas/Response%20Error%20Msg%20'
                required:
                  - data
                  - status
                x-apidog-orders:
                  - data
                  - status
                x-apidog-ignore-properties: []
              example:
                data:
                  subCode: E9103
                  description: Authorization credentials required
                  metadata: {}
                status:
                  code: '4001'
                  description: Business error with 1 errors
          headers: {}
          x-apidog-name: User authentication required V2.
      security:
        - bearer: []
      x-apidog-folder: Venio/SalesOrder
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/351895/apis/api-3590383-run
components:
  schemas:
    'Response Error Msg ':
      type: object
      properties:
        code:
          type: string
          x-apidog-mock: '4001'
        description:
          type: string
          x-apidog-mock: Business error with 1 errors
      required:
        - code
        - description
      x-apidog-orders:
        - code
        - description
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    Required authorization:
      type: object
      properties:
        subCode:
          type: string
          x-apidog-mock: E9103
        description:
          type: string
          x-apidog-mock: Authorization credentials required
        metadata:
          type: object
          properties: {}
          x-apidog-orders: []
          x-apidog-ignore-properties: []
      required:
        - subCode
        - description
        - metadata
      x-apidog-orders:
        - subCode
        - description
        - metadata
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
  securitySchemes:
    bearerAuth:
      type: jwt
      scheme: bearer
      bearerFormat: JWT
      description: ใส่ JWT Token ในรูปแบบ Bearer {token}
    bearer:
      type: http
      scheme: bearer
servers:
  - url: https://api.gofive.co.th
    description: Production
security:
  - bearerAuth: []
    x-apidog:
      schemeGroups:
        - id: uyL_cJmK7q60QJZRTi5ot
          schemeIds:
            - bearerAuth
      required: true
      use:
        id: uyL_cJmK7q60QJZRTi5ot
      scopes:
        uyL_cJmK7q60QJZRTi5ot:
          bearerAuth: []

```
